我正在尝试使用具有主键数组的BatchGetItem,但是问题是BatchGetItem想要
Keys : [
{ 'username' : 'username1'}
{ 'username' : 'username2'}
]
代替
Keys : [ 'username' : ':someUsernameArray' ]
这是我的Lambda函数的一部分(在Node.js中)
var follower_arr = Array.from(data.Item.followers.values);
var follower_params = {
RequestItems : {
USER : {
Keys :?,
ProjectionExpression : "university.#name,full_name,username",
"ConsistentRead": false,
"ExpressionAttributeNames": {
"#name" : "name"
}
},
}
}
docClient.batchGet(follower_params,function(err,data){
if(err){
callback(err,null);
}else{
callback(null,data);
}
});
follower_arr值是用户名数组,例如
['jack', 'michael_is_cool', 'mark_me_but', 'brownie_mr_brown']
那么,如何获取由主键组成的数组的所有元素的属性?
答案 0 :(得分:0)
您需要将用户名数组转换为对象数组,如下所示。在查询参数中使用结果数组。
follower_arr.forEach(function (ele) {
keys.push({ username: ele })
})
var follower_params = {
RequestItems : {
USER : {
Keys :keys
},
}
}