我试图更新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有点新意见。
答案 0 :(得分:0)
你可以阅读'组'属性,然后更改查询之外的数据,并在完成后写回整个事物。这样,无论你改变了多少个组,你总是只有一个读操作和一个写操作。消耗的读取或写入容量单位的数量当然与您的“'”组的大小有关。属性。