使用条件更新集合中的DynamoDB嵌套映射
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用条件更新集合中的DynamoDB嵌套映射相关的知识,希望对你有一定的参考价值。
我正在尝试更新DynamoDB中具有某种复杂(?)数据结构的项目。
项目:
{
'user_id': 'abc123',
'groups': [
{
'group_id': 'Group1',
'games_won': [],
'games_lost': []
},
{
'group_id': 'Group2',
'games_won': [],
'games_lost': []
},
]
}
我试图在特定的group_id上向games_won
附加一个字符串。我试图使用条件来避免多个数据库查询,但我似乎无法弄清楚如何在条件中迭代groups
。
基本上,我想这样做:
for g in groups:
if g.group_id == 'Group2':
g.games_won.append('game12345')
对不起复杂的标题。我对DynamoDB和NoSQL有点新意。
答案
您可以阅读'groups'属性,然后更改查询之外的数据,并在完成后写回整个事物。这样,无论你改变了多少个组,你总是只有一个读操作和一个写操作。消耗的读取或写入容量单位数量当然与“组”属性的大小相关。
以上是关于使用条件更新集合中的DynamoDB嵌套映射的主要内容,如果未能解决你的问题,请参考以下文章
Aws Appsync 解析器:如何创建解析器以更新列表映射 (DynaMoDB) 中的项目