node.js - 如何使用 .query 而不必在 dynamodb 中指定特定的 Id?
问题描述
我在 dynamodb 中有一个表,其中有多个名字为 Peter 的条目,我想检索所有以“Peter”为名字的条目。我将如何使用 .query 来做到这一点而不必指定特定的 ID。现在我收到错误:查询条件错过了关键架构元素:Id”。
router.get('/users/:id', (req, res) => {
//name3 = "Peter";
// id = ':id';
var params = {
TableName:table,
//KeyConditionExpression: 'Firstname = :thename AND Id = :id',
KeyConditionExpression: 'Firstname = :thename',
//KeyConditionExpression: "Id = :id",
ExpressionAttributeValues: {
':thename': "Peter",
//':id':id
}
}
let users = docClient.query(params, function (err, data) {
if (err) {
console.log(err);
handleError(err, res);
} else {
console.log(data);
res.json({ message: 'success', statusCode: 200, data: data })
}
});
});
解决方案
如果我没记错的话,你不能用query
.
另一方面,您可以使用docClient.scan
. (文档)。它的效率较低,因为它会进行全面扫描,但您不需要提供 ID
推荐阅读
- php - 即使行存在,PDO Select 语句也会返回 false
- heroku - 无法使用高级调度程序安排 Heroku dyno 在特定时间重新启动
- ffmpeg - 使用 ffmpeg 或其他工具对旧视频进行抗锯齿过滤
- javascript - 按钮的 addEventlistener 不能与多个按钮一起正常工作
- r - 有没有办法使用 plm 或其他包从 panelAR 复制功能?
- amazon-web-services - Cloudformation 导出无法删除
- html - 打开/关闭菜单时文本会发生变化,但不应该
- android - 错误改变亮度Android
- android - 无法在 Firebase Android 聊天应用程序中对消息进行分页
- sql - 如何在 MariaDB 中找到约束名称?