GSI с DynamoDB.DocumentElement и Node.JS - PullRequest
0 голосов
/ 09 мая 2020

У меня вопрос по GSI. Вопрос довольно простой для людей, которые работают с DynamoDB:)

В настоящее время я изучаю AWS / DynamoDB, создавая блог. Таким образом, каждый пост получил одну категорию. У меня есть одна большая проблема, если я хочу получить все сообщения, которые попали в особую категорию. Теперь я использую сканирование и содержит фильтр.

EDIT: для создания моделей я использую 'Dynamodb-toolbox'

Я слышал, что могу применить GSI и получить все сообщения с категорией путем поиска с помощью GSI. Самая большая проблема ... Я не знаю, как мне создать GSI, как я могу использовать его в запросе шириной DocumentClient и node.js

Спасибо за вашу помощь!

1 Ответ

1 голос
/ 09 мая 2020

Не знаю, как мне создать GSI

Это в документации , более конкретно здесь .

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

В этом случае и на основе вашей текущей модели данных вам необходимо настроить GSI с category в качестве ключа раздела и id является ключом сортировки, где вам необходимо настроить первичный ключ как составной первичный ключ для PK и SK, как описано здесь .

Это позволит вам запросить данные по категориям на этом GSI , поскольку у вас есть категория в качестве ключа раздела, вы попадете в один раздел при выполнении запроса.

как я могу использовать его в запросе DocumentClient и node.js

Я предлагаю вам сначала выяснить это и заставить его работать изолированно, не беспокоясь о вашем программировании языковые ограничения. Как только вы справитесь с этим, вы можете отдельно побеспокоиться о проблемах с языком программирования.

...