这是我的代码,用于提取文本为“ Make a Dinner”的所有元素。
const params = {
TableName: 'todos',
KeyConditionExpression: 'todoName = :t',
ExpressionAttributeValues: {
':t': 'Make a dinner'
}
};
db.scan(params, (err, data) => {
if (err) {
console.log(err);
}
});
但是出现以下错误:Query condition missed key schema element: todo_id
。此错误的原因是什么?如何避免呢?我的表中只有主键,没有排序键。
答案 0 :(得分:3)
听起来todo_id
是您的主键。您正在尝试在todoName
上进行查询。您无法查询非关键字段。
您要么需要运行scan
而不是query
,要么将查询更改为使用todo_id
而不是todoName
,或者将表主键更改为todoName
,或在todoName
上添加全局二级索引。