首页 > 解决方案 > ConditionalExpression DynamoDb 插入

问题描述

我的 DynamoDb 表有以下数据架构。如果输入=名称(例如:输入=我的主题2),我正在尝试附加列表订阅者。“主题”列表中可能有很多地图,我需要搜索名称 = 输入的地图,然后从那里将订阅者添加到该主题。

  {
        “server-id”: “123345678”,
        “server-name”: “my-server”
        “topics”: [
            {
                “name”: “my-topic”,
                “subscribers”: []
            },
            {
                “name”: “my-topic2”,
                “subscribers”: [] //This is what I need to append on a condition that the input = “my-topic2”
            }
         ]
    }

我正在使用以下赞歌,其中附加了“我的主题”订阅者。

params = {
      ExpressionAttributeNames: {
        "#T": "topics", 
        "#S": "subscribers"
      }, 
      ExpressionAttributeValues: {
        ":vals": [
          message.author.id
        ]
      }, 
      Key: {
        'server-id': serverID
      }, 
      ReturnValues: "ALL_NEW", 
      TableName: tableName,
      UpdateExpression: "SET #T[0].#S = list_append(#T[0].#S, :vals)"
    };

标签: amazon-dynamodbaws-sdkdynamodb-queries

解决方案


推荐阅读