KeyConditions не поддерживает IN
оператор. Кроме того, он не поддерживает оператора OR
.
Однако он поддерживает оператор AND
для фильтрации данных с помощью ключа хеша и ключа сортировки.
Для KeyConditions только следующие операторы сравнения поддерживаются:
EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEEN
KeyConditionExpression - (String) Условие, определяющее значение (0) значений для элементов, которые будут получены при выполнении запроса.
Условие должно выполнить проверку равенства на одном ключе раздела . Условие также может выполнить один из нескольких сравнительных тестов по одному значению ключа сортировки. Запрос может использовать KeyConditionExpression для извлекать один элемент с заданным значением ключа раздела и значением ключа сортировки или несколькими элементами с одинаковым значением ключа раздела, но разными значениями ключей сортировки .
сканирование, а не запрос с использованием фильтра. Однако имейте в виду, что сканирование является дорогостоящей операцией в DynamoDB, которая не может быть решением, которое вы ищете.
var params = {
TableName: "Movies",
FilterExpression: "title IN (:titlevalue1, :titlevalue2)",
ExpressionAttributeValues: {
":titlevalue1": "The Big New Movie 2012",
":titlevalue2": "The Big New Movie",
}
};
Другой вариант - запросить базу данных несколько раз с использованием разных ключей.
Какая ошибка вы получаете? –
Сообщается о недействительном операторе, используемом в KeyConditionExpression: IN' – elsonwx