我正在使用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]
这该怎么做?
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] 删除。
我来说两句