我在Dynamo DB中有一个文件,格式如下。
{ key1:" value1", key2:{sKeya:" A",sKeyB:" B" } }
是否可以在dynamo DB文档中更新(通过JavaScript)直接嵌套字段? BCOZ我不想再次使用所有值更新key2。
示例:我尝试了以下查询,但没有成功。它创建了另一个字段key2.sKeya:" ABC"
UpdateExpression:"设置#field =:value", ExpressionAttributeNames:{ " #field":" key2.sKeya" }, ExpressionAttributeValues:{ ":价值":" ABC", }
有没有人遇到类似的问题?
答案 0 :(得分:2)
您需要将对象键定义为单独的属性名称。
“key2”的别名和“sKeya”的别名。
const AWS = require("aws-sdk");
const DOCCLIENT = new AWS.DynamoDB.DocumentClient();
exports.handler = (event, context, callback) => {
let entry = {
TableName: "test",
Key: {
"key1": "value1",
},
UpdateExpression: "set #parent.#child = :value",
ExpressionAttributeNames: {
"#parent": "key2",
"#child": "sKeya"
},
ExpressionAttributeValues: {
":value": "ABC",
},
ReturnValues: "UPDATED_NEW"
};
DOCCLIENT.update(entry, function(err, data) {
callback(null, 'done');
});
};