node.js - DynamoDB:获取数组每个项目的属性
问题描述
我正在尝试使用一组主键来 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']
那么如何获取由主键组成的数组所有元素的属性呢?
解决方案
您需要将用户名数组转换为对象数组,如下所示。在查询参数中使用结果数组。
follower_arr.forEach(function (ele) {
keys.push({ username: ele })
})
var follower_params = {
RequestItems : {
USER : {
Keys :keys
},
}
}
推荐阅读
- angular - 帖子删除仅在刷新后发生 - 刷新后订阅激活并且帖子被删除
- jquery - 其他父菜单折叠时如何隐藏其他子菜单?
- azure-cosmosdb - 当另一个属性更改时,如何更新 CosmosDB/DocumentDB 中许多文档的一些属性?
- bash - 仅当匹配大于 3 时才打印 awk,小于 3 时不打印
- php - 如何更改 Laravel Nova 指标的结束日期?
- c# - 如何在 @code 块内编写 Blazor HTML 代码?
- three.js - 场景变化时 Aframe a-sky 变化旋转
- javascript - 我应该在哪里嵌入 htmlspecialchars,为什么?
- python - 是什么导致 Django 中出现此错误:NOT NULL 约束失败:mainapp_comment.post_id
- machine-learning - 标准化测试集但范围更高