Как получить атрибут из списка ключей разделов в DynamoDB - это сканирование, мой единственный вариант? - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть список ключей секционирования из одной таблицы.

userId["123","456","235"]

Мне нужно получить атрибут, которым они все обладают.например, «username».

Что было бы лучше, чтобы получить их все сразу?

Является ли сканирование единственным вариантом, зная, что я знаю все ключи моего раздела?

Знаю ли я ключ сортировки?да, но только началоПоэтому я не думаю, что мог бы использовать batchGetItem.

1 Ответ

0 голосов
/ 21 ноября 2018

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

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

Если вы ищете документы только с ключом сортировкичто начинается с чего-то, вы можете включить его в свой KeyConditionExpression вместе с ключом раздела.

Например, если вы хотите вернуть только документы, ключ сортировки которых начинается с определенной строки, вы можете передать что-то вроде userId = :user_id AND begins_with(#SortKey, :str) в качестве выражения условия ключа.

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