使用条件更新集合中的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) 中的项目

DynamoDB - 如何使用 updateItem 更新嵌套对象

CSV Helper 映射中的嵌套集合

更新嵌套的 MongoDB 集合 (Pymongo)

Mybatis resultMap 嵌套集合

如何检查然后更新node.js中的AWS dynamoDB项?