Как уменьшить запрос / вызов БД в MongoDB, когда запросу требуется более одной коллекции для аутентификации пользователя и отправки данных, которые запрашивает пользователь?

#javascript #node.js #mongodb #jwt

#javascript #node.js #mongodb #jwt

Вопрос:

Я использую MongoDB с узлом js и express. Я хочу сохранить пользовательские данные, и все это планируется в MongoDB. Как мы знаем, MongoDB не поддерживает объединения, поэтому мы оставили 2 варианта: либо использовать совокупность, либо вложенные документы. Поэтому, чтобы не усложнять, я создал новую коллекцию с именем plans и использую population. Но каждый раз, когда я хочу запросить данные из плана, я должен аутентифицировать пользователя, а затем предоставить данные. итак, для каждого запроса на получение данных из plan collection:

  1. Я должен отправить запрос для аутентификации с использованием JWT и проверить, является ли пользователь аутентичным.
  2. Затем снова запрашивайте данные плана и отправляйте ответ.

Итак, есть ли какой-либо способ, которым мы можем аутентифицировать пользователей и отправлять данные в одном запросе к БД. Заранее спасибо

Комментарии:

1. почему бы вам не внедрить планы в документ пользователей?

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

3. Используйте конвейер агрегации.

4. @D.SM Я не понимаю, для чего здесь используется конвейер агрегирования. Не могли бы вы уточнить, пожалуйста?

5. Для извлечения данных из нескольких коллекций вы бы использовали конвейер агрегации. Если вы не знаете, как это работает, у этого есть обширная документация.