Ich wollte die Mongodb-Datenbank verwenden, aber ich bemerkte, dass es zwei verschiedene Datenbanken mit eigener Website und Installationsmethoden gibt: Mongodb und Mungo. Also stellte ich mir die Frage: "Welches benutze ich?".
Um diese Frage zu beantworten, frage ich die Community, ob Sie erklären könnten, was die Unterschiede zwischen diesen beiden sind. Und wenn möglich Vor- und Nachteile? Weil sie mir wirklich sehr ähnlich sehen.
Antworten:
Ich gehe davon aus, dass Sie bereits wissen, dass MongoDB ein NoSQL-Datenbanksystem ist, das Daten in Form von BSON-Dokumenten speichert. Ihre Frage bezieht sich jedoch auf die Pakete für Node.js.
In Bezug auf die Node.js, mongodb ist der nativen Treiber für eine mongodb Instanz in Wechselwirkung und Mungo ist ein Objektmodellierungswerkzeug für MongoDB.
Mongoose basiert auf dem MongoDB-Treiber, um Programmierern die Möglichkeit zu geben, ihre Daten zu modellieren.
EDIT: Ich möchte nicht kommentieren, was besser ist, da dies diese Antwort meinungsbildend machen würde. Ich werde jedoch einige Vor- und Nachteile der Verwendung beider Ansätze auflisten.
Mit Mongoose kann ein Benutzer das Schema für die Dokumente in einer bestimmten Sammlung definieren. Es bietet viel Komfort bei der Erstellung und Verwaltung von Daten in MongoDB. Auf der anderen Seite kann das Erlernen von Mungos einige Zeit in Anspruch nehmen und weist einige Einschränkungen bei der Handhabung von Schemata auf, die recht komplex sind.
Wenn Ihr Sammlungsschema jedoch nicht vorhersehbar ist oder Sie eine Mongo-Shell-ähnliche Erfahrung in Node.js wünschen, verwenden Sie den MongoDB-Treiber. Es ist am einfachsten zu erlernen. Der Nachteil hierbei ist, dass Sie größere Mengen Code zur Validierung der Daten schreiben müssen und das Fehlerrisiko höher ist.
quelle
mongodb
nicht seinMongoDB
: PMongo ist eine NoSQL-Datenbank.
Wenn Sie kein ORM für Ihre Datenmodelle verwenden möchten, können Sie auch den nativen Treiber mongo.js verwenden: https://github.com/mongodb/node-mongodb-native .
Mungo ist einer der Ormen, die uns Funktionen für den Zugriff auf die Mongodaten mit leicht verständlichen Abfragen geben.
Mungo spielt eine Rolle der Abstraktion über Ihr Datenbankmodell.
quelle
Ein weiterer Unterschied , den ich in Bezug auf beide gefunden ist , dass es ziemlich einfach, ist ,
connect to multiple databases
mit ,mongodb native driver
während Sie Gebrauch Workarounds haben inmongoose
denen noch einige Nachteile.Wenn Sie sich also für eine Anwendung mit mehreren Mandanten entscheiden möchten, entscheiden Sie sich für den nativen mongodb-Treiber.
quelle
Wenn Sie diese Komponenten zusammen mit Ihrem proprietären Code verwenden möchten, lesen Sie bitte die folgenden Informationen.
Mongodb:
Mungo:
quelle
mongo-db
ist wahrscheinlich keine gute Wahl für neue Entwickler.Andererseits kann
mongoose
ein ORM (Object Relational Mapping) eine bessere Wahl für die New-Bies sein.quelle
Mongodb und Mongoose sind zwei verschiedene Treiber für die Interaktion mit der MongoDB-Datenbank.
Mongoose : ODM-Bibliothek (Object Data Modeling), die eine strenge Modellierungsumgebung für Ihre Daten bietet. Es wird für die Interaktion mit MongoDB verwendet und erleichtert das Leben, indem es die Verwaltung von Daten erleichtert.
Mongodb : nativer Treiber in Node.js zur Interaktion mit MongoDB.
quelle
Mongodb und Mongoose sind zwei völlig verschiedene Dinge!
Mongodb ist die Datenbank selbst , während Mongoose ein Objektmodellierungswerkzeug für Mongodb ist
EDIT: Wie bereits erwähnt, ist MongoDB das npm-Paket, danke!
quelle