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

时间:2018-03-05 21:38:16

标签: python amazon-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有点新意见。

1 个答案:

答案 0 :(得分:0)

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