如何使用JavaScript文档客户端更新DynamoDB上的Set?

时间:2018-03-27 20:35:49

标签: amazon-dynamodb

我试图将一些项添加到DynamoDB集。这适用于原始JavaScript SDK,但不适用于使用createSet()函数的新DocumentClient。这是我的代码:

'use strict';

let docClient = new AWS.DynamoDB.DocumentClient({
                region: 'us-east-2',
                accessKeyId: 'AKIAJWIR35J4YZF4RQVQ',
                secretAccessKey: 'xxxx'
            });

var params = {
    TableName : 'qa_Web_Application',
    Key: {'Application_ID': '78f27a00-11f6-49cc-9adb-ae0795cf79d4'},
    UpdateExpression : 'ADD #idList :newIds',
    ExpressionAttributeNames : {
      '#idList' : 'ids'
    },
    ExpressionAttributeValues : {
      ':newIds' : docClient.createSet([1,2])
    }
};

console.log( params.ExpressionAttributeValues[":newIds"] );

docClient.update(params, function(err,data) {
    if( err !== null ) {
        console.log( err, err.stack );
    } else {
        console.log ( data );
    }
});

这是输出:

constructor {values: Array(2), type: "Number"}
Error: Invalid UpdateExpression: Incorrect operand type for operator or function; operator: ADD, operand type: MAP

我在这里看到了同样的问题(How do you update a Set on DynamoDB using JavaScript document client?),但这就是我基于此代码示例的原因,但它失败了。

0 个答案:

没有答案