Chciałem skorzystać z bazy danych mongodb, ale zauważyłem, że istnieją dwie różne bazy danych z własną witryną i metodami instalacji: mongodb i mongoose. Zadałem sobie więc pytanie: „Którego używam?”.
Aby odpowiedzieć na to pytanie, proszę społeczność, czy możesz wyjaśnić, jakie są różnice między tymi dwoma? A jeśli to możliwe plusy i minusy? Ponieważ naprawdę wyglądają bardzo podobnie do mnie.
Odpowiedzi:
Zakładam, że wiesz już, że MongoDB to system bazodanowy NoSQL, który przechowuje dane w postaci dokumentów BSON. Twoje pytanie dotyczy jednak pakietów dla Node.js.
Jeśli chodzi o Node.js, mongodb jest rodzimym sterownikiem do interakcji z instancją mongodb, a mongoose to narzędzie do modelowania obiektów dla MongoDB.
Mongoose jest oparty na sterowniku MongoDB, aby zapewnić programistom sposób modelowania danych.
EDYCJA: Nie chcę komentować, co jest lepsze, ponieważ spowodowałoby to upartą odpowiedź. Wymienię jednak kilka zalet i wad stosowania obu podejść.
Korzystając z Mongoose, użytkownik może zdefiniować schemat dokumentów w określonej kolekcji. Zapewnia dużą wygodę w tworzeniu i zarządzaniu danymi w MongoDB. Z drugiej strony nauka mangusty może zająć trochę czasu i ma pewne ograniczenia w obsłudze dość złożonych schematów.
Jeśli jednak schemat Twojej kolekcji jest nieprzewidywalny lub chcesz, aby środowisko Node.js przypominało powłokę Mongo, użyj sterownika MongoDB. Najłatwiej go odebrać. Wadą jest to, że będziesz musiał pisać większe ilości kodu do walidacji danych, a ryzyko błędów jest większe.
źródło
mongodb
nieMongoDB
: PMongo to baza danych NoSQL.
Jeśli nie chcesz używać żadnego ORM dla swoich modeli danych, możesz również użyć natywnego sterownika mongo.js: https://github.com/mongodb/node-mongodb-native .
Mongoose jest jednym z ormów, który daje nam funkcjonalność dostępu do danych mongo za pomocą łatwo zrozumiałych zapytań.
Mongoose odgrywa rolę abstrakcji w modelu bazy danych.
źródło
I jeszcze jedna różnica w stosunku do zarówno znaleźć jest to, że dość łatwo
connect to multiple databases
sięmongodb native driver
natomiast trzeba arounds pracę wykorzystanie wmongoose
których nadal mają pewne wady.Jeśli więc chcesz skorzystać z aplikacji wielodostępnej, wybierz natywny sterownik mongodb.
źródło
Jeśli planujesz używać tych komponentów wraz z zastrzeżonym kodem, zapoznaj się z poniższymi informacjami.
Mongodb:
Mangusta:
źródło
mongo-db
prawdopodobnie nie jest dobrym wyborem dla nowych programistów.Z drugiej strony,
mongoose
jako ORM (mapowanie relacyjne obiektów) może być lepszym wyborem dla nowicjuszy.źródło
Mongodb i Mongoose to dwa różne sterowniki do interakcji z bazą danych MongoDB.
Mangusta : biblioteka modelowania danych obiektowych (ODM), która zapewnia rygorystyczne środowisko modelowania danych. Używany do interakcji z MongoDB, ułatwia życie, zapewniając wygodę w zarządzaniu danymi.
Mongodb : natywny sterownik w Node.js do interakcji z MongoDB.
źródło
Mongodb i Mongoose to dwie zupełnie różne rzeczy!
Mongodb to sama baza danych , podczas gdy Mongoose to narzędzie do modelowania obiektów dla Mongodb
EDYCJA: Jak wskazano, MongoDB to pakiet npm, dzięki!
źródło