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 mangouste. Je suis donc 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-là. Et si possible le pour et le contre? Parce qu'ils me ressemblent beaucoup.
Je suppose que vous savez déjà que MongoDB est un système de base de données NoSQL qui stocke des données sous la forme de documents BSON. Votre question concerne toutefois les packages pour Node.js.
En termes de Node.js, mongodb est le pilote natif permettant d’interagir avec une instance de mongodb et mangouste est un outil de modélisation d'objet pour MongoDB.
Mongoose est construit sur le pilote MongoDB afin de fournir aux programmeurs un moyen de modéliser leurs données.
EDIT: Je ne veux pas dire ce qui est le mieux, cela donnerait une opinion à cette réponse. Cependant, je vais énumérer quelques 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 confort dans la création et la gestion de données dans MongoDB. En revanche, l’apprentissage de la mangouste peut prendre un certain temps et présenter des limites dans la gestion de schémas assez complexes.
Toutefois, si votre schéma de collection est imprévisible ou si vous souhaitez une expérience similaire à Mongo-Shell dans Node.js, utilisez le pilote MongoDB. C'est le plus simple à prendre. L'inconvénient 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é.
Mongo est la base de données NoSQL.
Si vous ne souhaitez utiliser aucun 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 orms qui nous offre la possibilité d’accéder aux données Mongo avec des requêtes faciles à comprendre.
Mongoose joue un rôle d'abstraction sur votre modèle de base de données.
Une autre différence que j’ai trouvée en ce qui concerne les deux méthodes est qu’il est assez facile de connect to multiple databases
avec mongodb native driver
alors que vous devez utiliser des solutions de contournement dans mongoose
qui présentent encore des inconvénients.
Donc, si vous voulez utiliser une application multi-locataires, optez pour le pilote natif de mongodb.
Mongodb et Mongoose sont deux moteurs différents pour interagir avec la base de données MongoDB.
Mongoose: bibliothèque ODM (Object Data Modeling) qui fournit un environnement de modélisation rigoureux pour vos données. Utilisé pour interagir avec MongoDB, il simplifie la vie en facilitant la gestion des données.
Mongodb: pilote natif dans Node.js pour interagir avec MongoDB.
Si vous envisagez d'utiliser ces composants avec votre code propriétaire, veuillez vous reporter aux informations ci-dessous.
Mongodb:
Mongoose:
mongo-db
n'est probablement pas un excellent choix pour les nouveaux développeurs.
D'autre part, mongoose
en tant qu'ORM (Object Relational Mapping) peut être un meilleur choix pour les nouveaux utilisateurs.
Mongodb et Mongoose sont deux choses complètement différentes!
Mongodb est le la base de données elle-même, alors que Mongoose est n outil de modélisation d'objet pour Mongodb
EDIT: Comme indiqué, MongoDB est le package npm, merci!