根据条件更新dynamodb项目

时间:2017-11-10 18:16:44

标签: node.js amazon-dynamodb

我想仅在新项目的日期比现有项目更新时才更新DynamoDB中的项目。目前,我正在查询现有项目,在我的代码中进行比较,然后写入db。我想知道是否有办法让DynamoDB在单个查询中进行检查和更新。我使用了conditionalexpression但是即使条件满足它也没有更新值。 我正在使用nodejs。

1 个答案:

答案 0 :(得分:1)

我使用

找到了解决方案
  

预期

dynamodb的

子句。 以下是我的代码。

var params;
  params = {
    Key: {
      "HashKey": {
        S: "Value"
      }
    },
    TableName: 'TableName',
    AttributeUpdates: {
      "Attr1": {
        Value: {
          S: "Value1"
        }
      }
    },
    Expected: {
      "Attr2": {
          "ComparisonOperator": "EQ",
          "AttributeValueList": [ {S: "Value2"} ]
      }
    }
  };
  dynamodb_client.updateItem(params, function(err, data) {
  if (err){
    console.log(err);
  } else {
    console.log(data);
  }
});

因此,如果Attr2等于Value2

,则上面的代码会将Attr1的值更新为值1