我尝试了几种方法,但未能找到如何将数字添加到NS集.这都是在lambda函数中运行的.
我正在创建一个dynamodb表,其中十六进制中的不同颜色与一组id对齐.我正在优化表以进行快速读取并避免重复,这就是为什么我想为每个十六进制维护一组id.
我是如何向表中添加项目的:
let doc = require('dynamodb-doc');
let dynamo = new doc.DynamoDB();
var object = {
'TableName': 'Hex',
'Item': {
'hex': '#FEFEFE',
'ids': {
'NS': [2,3,4]
}
}
}
dynamo.putItem(object, callback);
Run Code Online (Sandbox Code Playgroud)
使用Dynamodb更新项目文档标准
var params = {
"TableName" : "Hex",
"Key": {
"hex": "#FEFEFE"
},
"UpdateExpression" : "ADD #oldIds :newIds",
"ExpressionAttributeNames" : {
"#oldIds" : "ids"
},
"ExpressionAttributeValues": {
":newIds" : {"NS": ["5", "6"]}
},
};
dynamo.updateItem(params, callback);
Run Code Online (Sandbox Code Playgroud)
这会返回以下错误,因此dynamo认为:newIds是一个地图类型而不是一个集合(?)
"errorMessage": "Invalid UpdateExpression: Incorrect operand type …Run Code Online (Sandbox Code Playgroud) javascript set amazon-web-services amazon-dynamodb aws-lambda