更新包含map的dynamoDB密钥

时间:2017-01-18 21:21:28

标签: node.js dictionary amazon-dynamodb

我正在使用:

http://awspilot.github.io/dynamodb-oop/#query

(aws-sdk wrapper)

我有一个存储在DB中的对象。 我想更新一个它是地图的值。

这是我的表:

userId, myMap

123     {'abc': '123'}

这是代码:

var tableName = 'myTable';
var userIdKey = 'userId';

function updateMyMap(userId, dic) {

    DynamoDB
    .table(tableName)
    .where(userIdKey).eq(userId)
    .return(DynamoDB.ALL_OLD)
    .insert_or_update({
        myMap: dic
    }, function( err, data ) {
        console.log( err, data )
    })
}

第一个例子:

当我致电updateMyMap时:

updateMyMap('123', {'abc':'456', 'def':'555'});

我希望桌子是:

userId, myMap

123     {'abc': '456', 'def':'555'}

第二个例子:

当我致电updateMyMap时:

updateMyMap('123', {'ghi':'222'});

我希望桌子是:

userId, myMap

123     {'abc': '456', 'def':'555', 'ghi':'222'}

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

在UpdateItem调用中使用更新表达式:

0.2.0

其他参数如下:

SET myMap.#key = :value