在node.js和lambda下的dynamodb中有条件地写入

时间:2015-12-01 10:03:09

标签: node.js lambda amazon-dynamodb

我试图有条件地将文件写入dynamodb,目的是"标记"已经发生的特定事件""检查项目是否存在以及是否写入 所以基本上我想检查是否存在属性组合,如果没有带有这些属性组合的项目,请编写它。

我有一个dynamodb实例,有一个lambda函数设置来向它写一个事件。表名是事件,主键是mapId。

我有以下代码:



...
var params = {
  Item: {
    event: query.event,
    mapId: query.mapId
  },
  TableName: TABLE_NAME
};

params.Item.uniqueKey = query.uniqueKey;
params.ExpressionAttributeValues = {
  ":mapId": query.mapId,
  ":uniqueKey": query.uniqueKey
};
params.ConditionExpression = "mapId <> :mapId and uniqueKey <> :uniqueKey";
docClient.put(params, function(err, data) {
...
&#13;
&#13;
&#13;

我希望这段代码第一次成功,但第二次失败,因为已经有一个具有属性组合的项目,但是,对此put请求的任何调用都会添加另一个具有相同属性的项目。

我确定有一种方法可以正确地做到这一点,只是没有想出怎么做。帮助???

0 个答案:

没有答案