如何在DynamoDB中创建和填充列表

时间:2016-11-12 04:27:39

标签: amazon-dynamodb

我希望在DynamoDB中创建一个列表项。这是我的代码:

var list_update_params = {
      TableName: "table01",
      Key: {
        "MachineID": {
          "S": MachineID
        },
        "Hour": {
          "S": Hour
        }
      },
      UpdateExpression: "set var01_list = list_append(var01_list, :ot)",
      ExpressionAttributeValues: {
        ":ot": {"L": [{"N": var01}]}
      },
      ReturnValues: "NONE"
    };
    dynamodb.updateItem(list_update_params, function(err, data) {
      if (err) console.log(err, err.stack);
      else console.log("Updated List to DynamoDB");
    });

问题是list_append期望属性var01_list已经存在,但我不会在第一次插入时知道。有没有一种技术可以让我创建一个List属性,如果一个不存在并在以后的调用中追加它?

1 个答案:

答案 0 :(得分:1)

从类似的帖子中获得答案here

UpdateExpression: "set var01_list= list_append(if_not_exists(var01_list, :empty_list), :h)",
      ExpressionAttributeValues: {
        ":h": {"L": [{"N":var01}]},
        ":empty_list": {"L": []}
      },

关键是if_not_existslist_append一起使用。不知道可以在这件事上做到这一点