Я хотел использовать базу данных mongodb, но заметил, что есть две разные базы данных с собственным сайтом и методами установки: mongodb и mongoose. Поэтому я решил задать себе вопрос: «Какой из них я использую?».
Поэтому, чтобы ответить на этот вопрос, я спрашиваю сообщество, не могли бы вы объяснить, в чем разница между этими двумя? А если можно плюсы и минусы? Потому что они действительно похожи на меня.
Ответы:
Я предполагаю, что вы уже знаете, что MongoDB - это система баз данных NoSQL, которая хранит данные в форме документов BSON. Ваш вопрос, однако, о пакетах для Node.js.
С точки зрения Node.js, mongodb - это родной драйвер для взаимодействия с экземпляром mongodb, а mongoose - инструмент для моделирования объектов для MongoDB.
Mongoose построен поверх драйвера MongoDB, чтобы предоставить программистам возможность моделировать свои данные.
РЕДАКТИРОВАТЬ: Я не хочу комментировать, что лучше, так как это сделало бы этот ответ самоуверенным. Однако я перечислю некоторые преимущества и недостатки использования обоих подходов.
Используя Mongoose, пользователь может определить схему для документов в определенной коллекции. Это обеспечивает большое удобство в создании и управлении данными в MongoDB. С другой стороны, изучение мангуста может занять некоторое время, и имеет некоторые ограничения в обработке схем, которые являются довольно сложными.
Однако, если ваша схема сбора непредсказуема, или вы хотите использовать оболочку типа Mongo в Node.js, то используйте драйвер MongoDB. Это проще всего подобрать. Недостатком здесь является то, что вам придется писать большие объемы кода для проверки данных, и риск ошибок выше.
источник
mongodb
неMongoDB
: PMongo - это база данных NoSQL.
Если вы не хотите использовать ORM для своих моделей данных, вы также можете использовать собственный драйвер mongo.js: https://github.com/mongodb/node-mongodb-native .
Mongoose - одна из тех, кто предоставляет нам функциональные возможности для доступа к данным Монго по легко понятным запросам.
Mongoose играет роль абстракции над вашей моделью базы данных.
источник
Еще одно отличие , которое я нашел в отношении обоих является то , что это довольно легко
connect to multiple databases
с вmongodb native driver
то время как вы должны использовать обходные работы вmongoose
которой все еще имеют некоторые недостатки.Поэтому, если вы хотите использовать приложение с несколькими арендаторами, выберите драйвер mongodb.
источник
Если вы планируете использовать эти компоненты вместе с проприетарным кодом, пожалуйста, обратитесь к информации ниже.
MongoDB:
Мангуста:
источник
mongo-db
скорее всего, не лучший выбор для новых разработчиков.С другой стороны,
mongoose
ORM (Object Relational Mapping) может быть лучшим выбором для новичков.источник
Mongodb и Mongoose - это два разных драйвера для взаимодействия с базой данных MongoDB.
Mongoose : библиотека для моделирования объектных данных (ODM), которая обеспечивает строгую среду моделирования для ваших данных. Используется для взаимодействия с MongoDB, облегчает жизнь, обеспечивая удобство в управлении данными.
Mongodb : собственный драйвер в Node.js для взаимодействия с MongoDB.
источник
Mongodb и Mongoose - две совершенно разные вещи!
Mongodb - это сама база данных , а Mongoose - инструмент объектного моделирования для Mongodb.
РЕДАКТИРОВАТЬ: Как указано, MongoDB это пакет npm, спасибо!
источник