【发布时间】:2018-02-17 19:39:50
【问题描述】:
所以我在 DynamoDB 中有一个项目:
{
"id": "1",
"foo": "bar"
}
我想为该项目添加一个新属性,该属性为:
{
"newAttr": [{ "bar": 1 }, { "bar": 2 }, { "bar": 3 }]
}
现在我正在使用 AWS-SDK 在 JS 中执行此操作,如下所示:
client.update({
ExpressionAttributeNames: { '#newAttr': 'newAttr' },
ExpressionAttributeValues: { ':newAttr': newAttr },
Key: { "id": "1" },
TableName: "foo",
UpdateExpression: "SET #newAttr = :newAttr"
}, callback)
但是,我收到一个错误:
ExpressionAttributeValues 包含无效值:一个或多个 参数值无效:AttributeValue 可能不包含 键的空字符串:newAttr
所以如果我是JSON.stringify(newAttr),那很好,但我不希望这个新属性是一个字符串,我希望它是一个列表。
那我做错了什么?
【问题讨论】:
标签: amazon-dynamodb