DynamoDB - лучший подход для применения лимита после сканирования - PullRequest
0 голосов
/ 10 октября 2018

Я выполняю функцию сканирования в таблице DynamoDB, и она работает очень хорошо.Теперь я хочу ограничить результаты после применения фильтра.

Я читал, что когда я комбинирую FilterExpression и Limit, DynamoDB будет применять Limit, а затем FilterExpression.

Возможно сделать что-то обратное?Первый фильтр, чем применить лимит?Я пытаюсь избежать этого в коде, потому что он вернет больше данных, чем мне нужно.

1 Ответ

0 голосов
/ 11 октября 2018

Для этого нет решения в DynamoDB, так как он не предназначен для таких операций.

Вместо этого вы можете использовать LastEvaluatedKey для имитации фильтрации результатов, хотя это также не будет эффективной операцией и может привести кпри полном просмотре таблицы.

Операция Query может возвратить пустой набор результатов и LastEvaluatedKey, если все элементы, прочитанные для страницы результатов, отфильтрованы.

Чтобы получить полноеколичество совпадающих элементов, возьмите значение LastEvaluatedKey из предыдущего запроса и используйте его в качестве значения ExclusiveStartKey в следующем запросе.Повторяйте это, пока DynamoDB больше не возвращает значение LastEvaluatedKey.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...