У меня есть таблица dynamodb с столбцом под названием «утверждение» и несколько тестовых элементов в нем со значениями для «утверждения», которые включают «ожидающий», «одобренный» и «не одобрен». У меня есть 3 элемента с «ожиданием».Dynamodb FilterExpression возвращает только один элемент
Я использую следующую функцию лямбда для извлечения элементов, и я хочу получить только те элементы, которые находятся в ожидании. Поэтому я использую FilterExpression. Это моя полная функция:
var doc = require('dynamodb-doc');
var dynamo = new doc.DynamoDB();
exports.handler = function(event, context) {
var params = {
TableName: 'mytable',
FilterExpression: 'contains(approval, :approval_value)',
ExpressionAttributeValues: {':approval_value': 'pending'}
};
dynamo.scan(params, onScan);
function onScan(err, data) {
if (err) {
console.error("Unable to scan the table. Error JSON:", JSON.stringify(err, null, 2));
} else {
console.log("Scan succeeded.");
context.succeed(data);
}
}
};
В основном я хочу сделать, "SELECT * FROM туЬаОго WHERE утверждения LIKE 'в ожидании';" если это было в SQL.
Странно, возвращается только элемент, пока я ожидаю 3. Я не использую Limit. Почему он возвращает только один элемент?
Каковы ваши ключи от хэша/диапазона? –
Основной ключ раздела - «postID». Нет ключа сортировки. Я не уверен, отвечает ли это на ваш вопрос? Я относительно новичок в noSQL. –