DynamoDB: запрос к столбцам, отсутствующим в схеме - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть следующая таблица в моей DynamoDB

Thread (id, userId, content)

с id, являющимся первичным ключом.Я не определил ни одного ключа сортировки.

Теперь мне нужно получить результат на основе userId .. Короче говоря, мне нужны все записи в таблице, содержащие определенный userId

userId = '123';
let queryParams = {
  TableName: tableName,
  ExpressionAttributeNames: {
      '#userid': 'userid'
  },
  ExpressionAttributeValues: {
      ':userid': userId
  },
  KeyConditionExpression: "#userid = :userid" 
} 
dynamodb.query(queryParams, (err, data) => {
  console.log(err);
  console.log(data);
});

, когдая запускаю это, я получаю ошибку

Could not load items: ValidationException: Query condition missed key schema element: id

Может кто-нибудь, пожалуйста, дайте мне знать, как я могу запросить все записи, содержащие userId '123' ??

1 Ответ

0 голосов
/ 10 декабря 2018

Для этого вам нужно добавить глобальный вторичный индекс к вашей таблице, в которой в качестве первичного ключа используется userId.Затем вы можете запросить этот индекс напрямую.

В запросе также необходимо указать имя индекса ( источник ).

...