在DynamoDB的项目列表中添加新键值对的最佳方法

时间:2017-10-23 14:29:21

标签: amazon-dynamodb

我有一个样本表格信息为 -

items: [{
   "key1":"value1",
   "key2":"value2"
}
]

我必须像下面这样更新 -

items: [{
   "key1":"value1",
   "key2":"value2",
   "key3": [{"subkey1":"value1"}, {"subkey2:"value2"}]
}
]

1 个答案:

答案 0 :(得分:0)

您可以将Update API与SET运算符一起使用。

在下面的示例中,categoryList具有OP中提到的key3值。

示例代码: -

var docClient = new AWS.DynamoDB.DocumentClient();
var categoryList = [{"subkey1":"value1"}, {"subkey2" : "value2"}];

var params = {
        TableName : "Movies",
        Key : {
            "yearkey" : 2016,
            "title" : "The Big New Movie 1"
        },
        UpdateExpression : "set #category = :categoryList",
        ExpressionAttributeNames: {
            '#category' : 'category'
        },
        ExpressionAttributeValues: {':categoryList' : categoryList},
        ReturnValues: 'UPDATED_NEW'
    };

console.log("Updating the item...");
docClient.update(params, function(err, data) {
    if (err) {
        console.error("Unable to update item. Error JSON:", JSON.stringify(err, null, 2));
    } else {
        console.log("UpdateItem succeeded:", JSON.stringify(data));
    }
});