Подтвердить что ты не робот

Разница между MongoDB и Mongoose

Я хотел использовать базу данных mongodb, но я заметил, что есть две разные базы данных с их собственным сайтом и методами установки: mongodb и mongoose. Поэтому я поднялся, задавая себе этот вопрос: "Какой из них я использую?".

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

4b9b3361

Ответ 1

Я предполагаю, что вы уже знаете, что MongoDB - это система баз данных NoSQL, которая хранит данные в форме документов BSON. Ваш вопрос, однако, о пакетах для Node.js.

С точки зрения Node.js, mongodb - это родной драйвер для взаимодействия с экземпляром mongodb, а mongoose - инструмент для моделирования объектов для MongoDB.

Mongoose построен поверх драйвера MongoDB, чтобы предоставить программистам возможность моделировать свои данные.

РЕДАКТИРОВАТЬ: я не хочу комментировать, что лучше, так как это сделало бы этот ответ самоуверенным. Однако я перечислю некоторые преимущества и недостатки использования обоих подходов.

Используя Mongoose, пользователь может определить схему для документов в определенной коллекции. Это обеспечивает большое удобство в создании и управлении данными в MongoDB. С другой стороны, изучение мангуста может занять некоторое время, и имеет некоторые ограничения в работе со схемами, которые являются довольно сложными.

Однако, если ваша схема сбора непредсказуема, или вы хотите использовать оболочку типа Mongo в Node.js, тогда используйте драйвер MongoDB. Это проще всего подобрать. Недостатком здесь является то, что вам придется писать большие объемы кода для проверки данных, и риск ошибок выше.

Ответ 2

Mongo - это база данных NoSQL.

Если вы не хотите использовать ORM для своих моделей данных, вы также можете использовать собственный драйвер mongo.js: https://github.com/mongodb/node-mongodb-native.

Mongoose - одна из тех, кто предоставляет нам функциональные возможности для доступа к данным Монго с помощью легко понятных запросов.

Mongoose играет роль абстракции над вашей моделью базы данных.

Ответ 3

Еще одно отличие, которое я обнаружил по отношению к обоим, заключается в том, что с mongodb native driver достаточно легко connect to multiple databases, в то время как вам нужно использовать work arounds в mongoose, которые все еще имеют некоторые недостатки.

Итак, если вы хотите пойти на многозадачное приложение, пойдите для родного драйвера mongodb.

Ответ 4

Mongodb и Mongoose - это два разных драйвера для взаимодействия с базой данных MongoDB.

Mongoose: библиотека моделирования объектных данных (ODM), которая обеспечивает строгую среду моделирования для ваших данных. Используется для взаимодействия с MongoDB, облегчает жизнь, обеспечивая удобство в управлении данными.

Mongodb: собственный драйвер в Node.js для взаимодействия с MongoDB.

Ответ 5

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

MongoDB:

  1. Это база данных.
  2. Этот компонент регулируется общей лицензией Affero General Public License (AGPL).
  3. Если вы связываете этот компонент вместе со своим проприетарным кодом, то вы должны опубликовать весь исходный код в открытом доступе из-за его вирусного эффекта, такого как (GPL, LGPL и т.д.)
  4. Если вы размещаете свое приложение в облаке, то применяется (2), а также вам необходимо предоставить информацию об установке конечным пользователям.

Мангуста:

  1. Это инструмент моделирования объектов.
  2. Этот компонент регулируется лицензией MIT.
  3. Разрешено использовать этот компонент вместе с проприетарным кодом без каких-либо ограничений.
  4. Доставка приложения с использованием любого носителя или хоста разрешена.

Ответ 6

mongo-db, вероятно, не mongo-db выбор для новых разработчиков.
С другой стороны, mongoose в качестве ORM (Object Relational Mapping) может быть лучшим выбором для новичков.

Ответ 7

Mongodb and Mongoose - это две совершенно разные вещи!

Mongodb - это сама база , а Mongoose - инструмент моделирования объектов для Mongodb

EDIT: Как указано, MongoDB - это пакет npm, спасибо!