Zakładam, że już wiesz, ż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 sterownikiem natywnym do interakcji z instancją mongodb i mongoose to narzędzie do modelowania obiektów dla MongoDB.
mongoose
jest zbudowany na bazie mongodb
sterownik zapewniający programistom sposób modelowania ich danych.
EDYTUJ: Nie chcę komentować, co jest lepsze, bo to spowodowałoby, że ta odpowiedź byłaby ugruntowana. Jednak wymienię niektóre zalety i wady korzystania z obu podejść.
Używanie 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 schematów, które są dość złożone.
Jeśli jednak Twój schemat kolekcji jest nieprzewidywalny lub chcesz mieć środowisko przypominające powłokę Mongo wewnątrz Node.js, użyj mongodb
kierowca. Jest najprostszy do odebrania. Minusem jest to, że będziesz musiał napisać większe ilości kodu do walidacji danych, a ryzyko błędów jest wyższe.