使用条件更新集合中的DynamoDB嵌套映射

问题描述 投票:0回答:1

我正在尝试更新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有点新意。

python amazon-dynamodb
1个回答
0
投票

您可以阅读'groups'属性,然后更改查询之外的数据,并在完成后写回整个事物。这样,无论你改变了多少个组,你总是只有一个读操作和一个写操作。消耗的读取或写入容量单位数量当然与“组”属性的大小相关。

© www.soinside.com 2019 - 2024. All rights reserved.