AWS DynamoDB列表不同的ID

121

我正在使用nodejs开发某些东西,并且在DynamoDB上有一张表。因此,我将aws-sdk用于nodejs来处理这两件事。

这是一个例子。ID和名称是表的组合键。

ID    name   otherData
----------------------
1     Matt   123
1     Mary   1234
2     Mary   2312
4     Mary    3123
4     Pet    3123

我想要的是获取不同ID的列表。因此,预期输出为

ID = [1, 2, 4]

这该怎么做?

F_SO_K

1)执行DynamoDB扫描以获取所有(非唯一)ID值。ProjectionExpression将返回的结果属性(在这种情况下仅限于ID)进行限制。请注意,这不会使您的扫描更快。执行扫描时,您将返回一个包含结果的JSON对象。您可以使用JMES来获取ID数组(data.Items.ID)。

2)使数组在您的nodejs代码中唯一(例如,使用下面的ArrNoDupe代码函数)

var params = {
 ProjectionExpression: "ID",
 TableName: "YOUR_TABLE"
};

ddb.scan(params, function(err, data) {
  if (err) {
    console.log("Error", err);
  } else {
      console.log(ArrNoDupe(data.Items.ID));
    });
  }
});

function ArrNoDupe(a) {
    var temp = {};
    for (var i = 0; i < a.length; i++)
        temp[a[i]] = true;
    var r = [];
    for (var k in temp)
        r.push(k);
    return r;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章