我正在尝试更新我的 dynamodb 表中的现有记录。如下所示,我的桌子上有一个项目
let params = {
TableName: proces.env.dynamoDbTable,
Item: {
productId: "id",
att1: val1,
att2: val2
}
}
我想执行更新。我正在使用 aws dynamodb sdk 的更新方法并传递如下参数
let aws = require('aws-sdk');
let dbb = new aws.DynamoDb.DocumentClient();
let params = {
TableName: process.env.tableName,
Key: {productID}
ExpressionAttributeNames: { "#updatedAt" : "updatedAt" }
ExpressionAttributeValues: {":u":moment().unix(), ":val1" : a, ":val2": b}
UpdateExpression: "SET att1 = :val1, att2: val2, #updatedAt: :u"
}
// a, b are passed as argument to function and are optional
dbb.update(params).promise()
当一个参数丢失时,发电机会引发 ExpressionAttributeValue 丢失异常,我知道它是直的。有没有办法可以使用提供的属性更新我的项目