【发布时间】:2016-02-23 05:42:24
【问题描述】:
我有这样的事情:
{
Records:{}
}
我只想在这样的记录中添加数据:
{
Id: 123,
Records:{
10001: { event : "item1" }
}
}
我的第一次尝试:
var params = {
TableName : "Records",
Key : { Id : 123 },
UpdateExpression: 'set Record.#k1.event = :v1',
ExpressionAttributeNames: { '#k1' : 10001},
ExpressionAttributeValues: { ':v1' : 'item1' }
};
因为 Record.10001 不存在,所以它给我错误:
The document path provided in the update expression is invalid for update
"ADD" 仅支持 NUMBER 和 SET 类型,因此不适合我的情况。
我的第二次尝试(第一次尝试创建空地图):
var params = {
TableName : "Records",
Key : { Id : 123 },
UpdateExpression: 'set Record.#k1 = {}',
ExpressionAttributeNames: { '#k1' : 10001},
};
它失败了,因为我的语法可能不正确,而且我找不到如何为属性创建一个空映射。
所以我的问题是如何将结构化对象作为地图或空地图添加到现有项目,如上面的示例?
我可以轻松地从亚马逊 DynamoDB 数据管理页面修改数据,所以至少我知道有一种方法可以做到这一点。我只需要知道怎么做。
谢谢
【问题讨论】:
标签: amazon-dynamodb