Quería usar la base de datos mongodb, pero noté que hay dos bases de datos diferentes con su propio sitio web y métodos de instalación: mongodb y mangosta. Entonces se me ocurrió esta pregunta: "¿Cuál uso?".
Entonces, para responder a esta pregunta, le pregunto a la comunidad si podría explicar cuáles son las diferencias entre estos dos. ¿Y si es posible pros y contras? Porque realmente se parecen mucho a mí.
Respuestas:
Supongo que ya sabe que MongoDB es un sistema de base de datos NoSQL que almacena datos en forma de documentos BSON. Sin embargo, su pregunta es sobre los paquetes para Node.js.
En términos de Node.js, mongodb es el controlador nativo para interactuar con una instancia de mongodb y mongoose es una herramienta de modelado de objetos para MongoDB.
Mongoose está construido sobre el controlador MongoDB para proporcionar a los programadores una forma de modelar sus datos.
EDITAR: No quiero comentar cuál es mejor, ya que esto haría que esta respuesta sea obvia. Sin embargo, enumeraré algunas ventajas y desventajas de usar ambos enfoques.
Con Mongoose, un usuario puede definir el esquema para los documentos en una colección particular. Proporciona mucha comodidad en la creación y gestión de datos en MongoDB. En el lado negativo, aprender mangosta puede llevar algo de tiempo y tiene algunas limitaciones en el manejo de esquemas que son bastante complejos.
Sin embargo, si su esquema de colección es impredecible, o si desea una experiencia similar a la de Mongo-shell dentro de Node.js, continúe y use el controlador MongoDB. Es el más sencillo de recoger. La desventaja aquí es que tendrá que escribir grandes cantidades de código para validar los datos, y el riesgo de errores es mayor.
fuente
mongodb
noMongoDB
: PMongo es la base de datos NoSQL.
Si no desea usar ningún ORM para sus modelos de datos, también puede usar el controlador nativo mongo.js: https://github.com/mongodb/node-mongodb-native .
Mongoose es uno de los orms que nos brinda funcionalidad para acceder a los datos de mongo con consultas fácilmente comprensibles.
Mongoose juega un papel de abstracción sobre su modelo de base de datos.
fuente
Una de las diferencias más me encontré con respecto a ambos es que es bastante fácil
connect to multiple databases
con elmongodb native driver
tiempo que tiene que arounds uso de trabajo enmongoose
la que todavía tienen algunos inconvenientes.Entonces, si desea ir a una aplicación multiinquilino, busque el controlador nativo mongodb.
fuente
Si planea utilizar estos componentes junto con su código de propiedad, consulte la información a continuación.
Mongodb:
Mangosta:
fuente
mongo-db
Es probable que no sea una gran opción para los nuevos desarrolladores.Por otro lado,
mongoose
como un ORM (mapeo relacional de objetos) puede ser una mejor opción para los nuevos.fuente
Mongodb y Mongoose son dos controladores diferentes para interactuar con la base de datos MongoDB.
Mongoose : biblioteca de modelado de datos de objetos (ODM) que proporciona un entorno de modelado riguroso para sus datos. Utilizado para interactuar con MongoDB, facilita la vida al proporcionar comodidad en la gestión de datos.
Mongodb : controlador nativo en Node.js para interactuar con MongoDB.
fuente
¡Mongodb y Mongoose son dos cosas completamente diferentes!
Mongodb es la base de datos en sí , mientras que Mongoose es una herramienta de modelado de objetos para Mongodb.
EDITAR: Como se señaló MongoDB es el paquete npm, ¡gracias!
fuente