Jeg går ud fra, at du allerede ved, at MongoDB er et NoSQL-databasesystem, som gemmer data i form af BSON-dokumenter. Dit spørgsmål handler imidlertid om pakkerne til Node.js.
Med hensyn til Node.js er mongodb den native driver til interaktion med en mongodb-instans og mongoose er et Objektmodelleringsværktøj for MongoDB.
mongoose
er bygget oven på mongodb
driver til at give programmører en måde at modellere deres data på.
EDIT: Jeg ønsker ikke at kommentere på, hvad der er bedst, da dette ville gøre dette svar meningsfuldt. Jeg vil dog nævne nogle fordele og ulemper ved at bruge begge tilgange.
Brug af mongoose
, kan en bruger definere skemaet for dokumenterne i en bestemt samling. Det giver en masse bekvemmelighed ved oprettelse og styring af data i MongoDB. På den negative side kan det tage noget tid at lære mangust og har nogle begrænsninger i håndteringen af skemaer, der er ret komplekse.
Men hvis dit indsamlingsskema er uforudsigeligt, eller du ønsker en Mongo-shell-lignende oplevelse inde i Node.js, så gå videre og brug mongodb
chauffør. Det er det nemmeste at hente. Ulempen her er, at du bliver nødt til at skrive større mængder kode for at validere dataene, og risikoen for fejl er højere.