Константы структуры базы данных

Я присоединился к этому новому проекту, использующему MongoDB, и увидел такую ​​структуру:

коллекция: Пользователи

salutation (ObjectId)   name (String)   status (ObjectId)
ObjectId("111")         Mark            ObjectId("112")

коллекция: Ценности

_id               description (String)
ObjectId("111")   Mr.
ObjectId("112")   active

Для всех значений, которые нельзя изменить, они ссылаются на идентификатор коллекции значений. Я не знаю, является ли это обычной практикой в ​​реляционных базах данных, но я пока не видел этого в MongoDB.

Они используют Nestjs и Mongoose.

Для каждого запроса им необходимо запросить коллекцию пользователей и несколько раз коллекцию значений. Хороший ли это подход?

Использование JavaScript и MongoDB
Использование JavaScript и MongoDB
Сегодня я собираюсь вкратце рассказать о прототипах в JavaScript, а также представить и объяснить вам работу с базой данных MongoDB.
1
0
19
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

Вы можете прочитать обо всех шаблонах проектирования mongo и каждом варианте использования здесь: https://www.mongodb.com/blog/post/building-with-patterns-a-summary

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

У вас может быть что-то вроде этого:

{
  "name": "Derek",
  "status": "active",
  "salutation": "Mr."
}

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

Другие вопросы по теме