Зачем нам нужны какие преимущества для использования мангуста
Я только что начал с mongodb
и недавно я прошел через Mongoose
, ODM framework.
В документации я не мог найти, почему нам нужно использовать Mongoose
. Одна из причин, которую я могу дать, - это определить схему приложения из Mongoose
.
Я ищу более возможные причины, и потребности, которые привлекут меня к использованию Mongoose
.
Пожалуйста, перечислите все возможные преимущества и причины/потребности, зачем использовать Mongoose
.
Ответы
Ответ 1
Главное преимущество - абстракция над чистым монго.
Многие разработчики, которые приходят из типов баз данных SQL, чувствуют себя очень неудобно, работая с динамическими коллекциями, которые не имеют определенной структуры. Поэтому Схемы в первую очередь помогают с этим.
Кроме того, он реализует проверку и другие опрятные функции, чтобы убедиться, что ваша схема согласована при вставке/обновлении/поиске документов из коллекций.
Он также создает абстракцию модели, из-за которой упрощается работа с ней, поэтому похоже, что вы работаете с объектами, а не с чистыми данными.
Есть много других полезных свойств, таких как промежуточное ПО, плагины, население, проверка. Пожалуйста, проверьте документы mongoose для получения дополнительной информации:
Лично я предпочитаю чистое монго, поскольку он более согласуется с официальными документами 10gen mongo и не создает абстракции, которые всегда стоят определенных ограничений и правил, которые вам придется соблюдать.
Ответ 2
Если вы работаете с Node.js, и вы довольно новый NoSQL, я бы порекомендовал сначала использовать собственный драйвер узла (mongodb).
Причины:
-
Синтаксис между драйвером Node и оболочкой Mongo очень похож, поэтому вы получите более полное представление о том, как использовать MongoDB в целом.
-
Модели полезны только при масштабировании в большое приложение с большим API, который необходимо разбить на систему M VC (mongoose - ваши модели).
Плюсы/минусы использования Mongoose:
Плюсы:
- Biggest Pro - это то, что в него встроена валидация данных (требования к тем, какие данные вы хотите добавить или обновить вашу базу данных). Это потребует некоторой работы, чтобы построить это самостоятельно (но не так сложно)
- Он отвлечет большую часть кода mongoDB от остальной части приложения.
Cons
-
Biggest con начинает с схем прямо из ворот, и это действительно победит цель использования NoSQL, и будет трудно испытать то, что хорошо о том, что у вас есть структурированная система данных на этапах быстрого развития.
-
Не все ваши операции с данными будут хорошо вписываться в характеристики, которые могут быть инкапсулированы с помощью модели. Инкапсуляция особенно сложна изначально - если у вас нет четкого представления о потоке данных, прежде чем вы начнете (что идеально, но не просто, когда вы строите что-то концептуально новое и требует много экспериментов и изменений/редизайна).