-
Notifications
You must be signed in to change notification settings - Fork 1
📰 Topic | Mongoose by Naomi
Mongoose is een ODM (Object Data Modeling) die je kunt gebruiken om het werken met MongoDB makkelijk te maken. Het zorgt ervoor dat er makkelijker wordt vertaald van documenten in een MongoDB database naar objecten in het programma.
- Mongoose biedt een abstracte laag bovenop MongoDB zodat je geen collections hoeft te gebruiken
- Models in Mongoose voeren het grootste deel van het werk uit van het instellen van standaardwaarden voor documenteigenschappen en het valideren van gegevens
- Functies kunnen worden gekoppeld aan Models in Mongoose. Dit zorgt voor naadloze integratie van nieuwe functionaliteiten
- Code wordt flexiber en leesbaarder omdat query's functieketting worden gebruikt in plaats van ingesloten geheugensteuntjes
Het grootste nadeel van Mongoose is dat abstractie ten koste gaat van de prestaties in vergelijking met die van native MongoDB
Mongoose maakt gebruikt van 2 dingen, schema en een model voor het opzetten.
Een model is een wrapper voor het schema en het zorgt voor een interface voor de database.
Alle database bewerkingen die met Mongoose op een document worden uitgevoerd, moeten naar een model verwijzen.
Het schema definieert de structuur van het document. Dit wordt gedaan door attributen zoals;
- Data types
- Vereiste
- Uniekheid, wat betekent dat de database alleen de waarde laat zien
- Refereren naar Mongoose
- Het schema definiëren
- Het model exporteren
![Schermafbeelding 2021-03-20 om 17 21 12](https://user-images.githubusercontent.com/55541888/113055460-e5c08780-91aa-11eb-8502-15200ef43893.png)
Om data uit de database te halen, gebruik je db.collection('userdata')
![Schermafbeelding 2021-03-20 om 17 15 49](https://user-images.githubusercontent.com/55541888/113055109-7fd40000-91aa-11eb-98f6-028b775fd540.png)
Model en schema maken
![Schermafbeelding 2021-03-20 om 17 21 12](https://user-images.githubusercontent.com/55541888/113055460-e5c08780-91aa-11eb-8502-15200ef43893.png)
Om data uit de database te halen hoef je nu alleen User
te gebruiken.
Wat ik zelf fijn vind aan Mongoose is dat ik geen db.collection
hoeft te gebruiken om data op te halen. Ik typ nu korter en dus efficiënter. Ik dacht dat het moeilijk zou zijn om dit te leren, maar eigenlijk was het makkelijker dan ik had gedacht. Mongoose is netjes en zorgt voor helderheid in code.
- Node.js Crash Course Tutorial #9 - MongoDB, https://www.youtube.com/watch?v=bxsemcrY4gQ
- Introduction to Mongoose for MongoDB, https://www.freecodecamp.org/news/introduction-to-mongoose-for-mongodb-d2a7aa593c57/
- An Overview of MongoDB & Mongoose, https://medium.com/chingu/an-overview-of-mongodb-mongoose-b980858a8994
- Mongoose, https://mongoosejs.com/