在AWS DynamoDb中“查询条件缺少键架构元素”的原因是什么?

时间:2018-09-23 16:17:52

标签: node.js amazon-web-services amazon-dynamodb

这是我的代码,用于提取文本为“ 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。此错误的原因是什么?如何避免呢?我的表中只有主键,没有排序键。

1 个答案:

答案 0 :(得分:3)

听起来todo_id是您的主键。您正在尝试在todoName上进行查询。您无法查询非关键字段。

您要么需要运行scan而不是query,要么将查询更改为使用todo_id而不是todoName,或者将表主键更改为todoName,或在todoName上添加全局二级索引。