DynamoDB: запрос к столбцам, отсутствующим в схеме
У меня есть следующая таблица в моем 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 ответ
Решение
Для этого вам нужно добавить глобальный вторичный индекс в вашу таблицу, в которой в качестве первичного ключа используется userId. Затем вы можете запросить этот индекс напрямую.
Вы также должны включить имя индекса в запрос запроса ( источник).