Зачем нам нужны какие преимущества для использования мангуста

Я только что начал с mongodb и недавно я прошел через Mongoose, ODM framework.

В документации я не мог найти, почему нам нужно использовать Mongoose. Одна из причин, которую я могу дать, - это определить схему приложения из Mongoose.

Я ищу более возможные причины, и потребности, которые привлекут меня к использованию Mongoose.

Пожалуйста, перечислите все возможные преимущества и причины/потребности, зачем использовать Mongoose.

Ответ 1

Главное преимущество - абстракция над чистым монго.

Многие разработчики, которые приходят из типов баз данных SQL, чувствуют себя очень неудобно, работая с динамическими коллекциями, которые не имеют определенной структуры. Поэтому Схемы в первую очередь помогают с этим.
Кроме того, он реализует проверку и другие опрятные функции, чтобы убедиться, что ваша схема согласована при вставке/обновлении/поиске документов из коллекций.

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

Есть много других полезных свойств, таких как промежуточное ПО, плагины, население, проверка. Пожалуйста, проверьте документы mongoose для получения дополнительной информации:

Лично я предпочитаю чистое монго, поскольку он более согласуется с официальными документами 10gen mongo и не создает абстракции, которые всегда стоят определенных ограничений и правил, которые вам придется соблюдать.

Ответ 2

Если вы работаете с Node.js, и вы довольно новый NoSQL, я бы порекомендовал сначала использовать собственный драйвер узла (mongodb).

Причины:

  1. Синтаксис между драйвером Node и оболочкой Mongo очень похож, поэтому вы получите более полное представление о том, как использовать MongoDB в целом.

  2. Модели полезны только при масштабировании в большое приложение с большим API, который необходимо разбить на систему M VC (mongoose - ваши модели).

Плюсы/минусы использования Mongoose:

Плюсы:

  • Biggest Pro - это то, что в него встроена валидация данных (требования к тем, какие данные вы хотите добавить или обновить вашу базу данных). Это потребует некоторой работы, чтобы построить это самостоятельно (но не так сложно)
  • Он отвлечет большую часть кода mongoDB от остальной части приложения.

Cons

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

  • Не все ваши операции с данными будут хорошо вписываться в характеристики, которые могут быть инкапсулированы с помощью модели. Инкапсуляция особенно сложна изначально - если у вас нет четкого представления о потоке данных, прежде чем вы начнете (что идеально, но не просто, когда вы строите что-то концептуально новое и требует много экспериментов и изменений/редизайна).