Je voulais utiliser la base de données mongodb, mais j'ai remarqué qu'il existe deux bases de données différentes avec leur propre site Web et leurs propres méthodes d'installation: mongodb et mongoose. Alors je suis venu me poser cette question: "Lequel dois-je utiliser?".
Donc, pour répondre à cette question, je demande à la communauté si vous pouvez expliquer quelles sont les différences entre ces deux? Et si possible avantages et inconvénients? Parce qu'ils me ressemblent vraiment beaucoup.
Réponses:
Je suppose que vous savez déjà que MongoDB est un système de base de données NoSQL qui stocke les données sous la forme de documents BSON. Votre question concerne cependant les packages pour Node.js.
En termes de Node.js, mongodb est le pilote natif pour interagir avec une instance de mongodb et mongoose est un outil de modélisation d'objets pour MongoDB.
Mongoose est construit sur le pilote MongoDB pour fournir aux programmeurs un moyen de modéliser leurs données.
EDIT: Je ne veux pas commenter ce qui est le meilleur, car cela rendrait cette réponse oppressée. Cependant, je vais énumérer certains avantages et inconvénients de l'utilisation des deux approches.
À l'aide de Mongoose, un utilisateur peut définir le schéma des documents d'une collection particulière. Il offre beaucoup de commodité dans la création et la gestion des données dans MongoDB. Par contre, l'apprentissage de la mangouste peut prendre un certain temps et présente certaines limites dans la gestion de schémas assez complexes.
Cependant, si votre schéma de collection est imprévisible ou si vous voulez une expérience de type Mongo-shell dans Node.js, alors continuez et utilisez le pilote MongoDB. C'est le plus simple à récupérer. L'inconvénient ici est que vous devrez écrire de plus grandes quantités de code pour valider les données, et le risque d'erreurs est plus élevé.
la source
mongodb
pas êtreMongoDB
: PMongo est une base de données NoSQL.
Si vous ne souhaitez pas utiliser d' ORM pour vos modèles de données, vous pouvez également utiliser le pilote natif mongo.js: https://github.com/mongodb/node-mongodb-native .
Mongoose est l'un des orm qui nous donne des fonctionnalités pour accéder aux données mongo avec des requêtes facilement compréhensibles.
Mongoose joue un rôle d'abstraction sur votre modèle de base de données.
la source
Encore une différence , j'ai trouvé en ce qui concerne à la fois est qu'il est assez facile à
connect to multiple databases
avecmongodb native driver
pendant que vous devez contournements de travail d'utilisation dansmongoose
qui ont encore quelques inconvénients.Donc, si vous voulez opter pour une application mutualisée, optez pour le pilote natif mongodb.
la source
Si vous prévoyez d'utiliser ces composants avec votre code propriétaire, veuillez vous reporter aux informations ci-dessous.
Mongodb:
Mangouste:
la source
mongo-db
n'est probablement pas un excellent choix pour les nouveaux développeurs.D'autre part
mongoose
, un ORM (Object Relational Mapping) peut être un meilleur choix pour les débutants.la source
Mongodb et Mongoose sont deux pilotes différents pour interagir avec la base de données MongoDB.
Mongoose : bibliothèque de modélisation de données objet (ODM) qui fournit un environnement de modélisation rigoureux pour vos données. Utilisé pour interagir avec MongoDB, il facilite la vie en offrant une commodité de gestion des données.
Mongodb : pilote natif dans Node.js pour interagir avec MongoDB.
la source
Mongodb et Mongoose sont deux choses complètement différentes!
Mongodb est la base de données elle - même , tandis que Mongoose est un outil de modélisation d'objets pour Mongodb
EDIT: Comme indiqué, MongoDB est le package npm, merci!
la source