我创建了一个字符串集类型的属性。
当我创建项目并分配 SS 类型的属性时,一切正常。
但是当我尝试更新此属性时,数据类型更改为列表(“L”)。
我试试这个:
qw = new AWS.DynamoDB.DocumentClient();
var params = {
TableName : "myTable",
Key: {
"id": somekey
},
UpdateExpression: "set ssvar= :arrp",
ExpressionAttributeValues: {
":arrp": [ "test", "test2" ]
}
};
qw.update (etc.)
这导致 dynamodb 中的数据类型发生变化,我得到一个列表而不是字符串集:
"ssvar": {
"L": [
{
"S": "test"
},
{
"S": "test2"
}
]
}
我尝试过如下各种解决方案,但我的数据类型总是会改变。
ExpressionAttributeValues: {
":arrp":
"SS": [ "test", "test2" ]
}
如何更新字符串集类型的属性?
截至 2015 年 9 月,有createSet http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#createSet-property您可以使用 DocumentClient 中的函数来实现此目的。
UPDATE- 添加了示例
我修改了您的示例代码以使用此函数:
qw = new AWS.DynamoDB.DocumentClient();
var params = {
TableName : "myTable",
Key: {
"id": somekey
},
UpdateExpression: "set ssvar= :arrp",
ExpressionAttributeValues: {
":arrp": qw.createSet([ "test", "test2" ])
}
};
qw.update (etc.)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)