任何人都可以提供一个dynamodb文件客户端upsert的例子吗?

我在AWS dynamodb的DocumentClient节点中寻找一个不重要的upsert示例。 有人可以分享一个已经为他们工作的样本吗?

我想看到一个例子,在创buildlogging时设置created_at,updated_at和id字段,但只有在find并更新logging时才设置updated_at。

这应该达到你的目标。 我的歉意,因为我错过了我的原始张贴标准。 我假设id是你的表中的关键。

 'use strict'; var AWS = require('aws-sdk'); var ec2 = new AWS.EC2({ apiVersion: '2016-09-15' }); var ddb = new AWS.DynamoDB.DocumentClient(); AWS.config.region = 'us-east-1'; var ret = {}; const ddbTbl = 'table_name'; var date = new Date(); var dateAsIso = date.toISOString(); exports.handler = (event, context, callback) => { var key = 'bar'; var params = { TableName: ddbTbl, Key: { "id": key }, UpdateExpression: "set #u = :t, #c = if_not_exists(#c, :t)", ExpressionAttributeNames: { "#u": "updated_at", "#c": "created_at" }, ExpressionAttributeValues: { ":t": dateAsIso }, ReturnValues: "UPDATED_NEW" }; ddb.update(params, function(err, data) { if (err) { console.log(err, err.stack); ret.ddbUpdate = err; callback(null, {success: false, message: ["ddb upsert failed"], payload: ret}); // or use the regular callback for failures if you don't want to do your own envelope response } else { console.log(data); ret.ddbUpdate = data; callback(null, {success: true, message: ["ddb upsert succeeded"], payload: ret}); } }); };