mongoose - hicham-sahla/team-tech-2 Wiki

Mongoose

Voor de database gebruiken wij Mongoose. Mongoose is een data modelling library voor MongoDB, met Mongoose kan je schema's maken waarin je overzichtelijk data kan opslaan en het overzicht houd.

De reden dat we Mongoose gebruiken is omdat we bij onze applicatie gebruik maken van meerdere verzamelingen van data, met Mongoose kan je deze duidelijker structureren en hou je overzicht over wat je naar de Database stuurt op welke manier.

Kennismaking met Mongoose

Om meer kennis te krijgen over Mongoose en te begrijpen wat het was en hoe het in zijn werk ging, hebben we onderzoek gedaan. In dit artikel word beschreven waarom je Mongoose zou moeten gebruiken en wat voor voordelen het oplevert.

https://www.stackchief.com/blog/Top%204%20Reasons%20to%20Use%20Mongoose%20with%20MongoDB

Om de hoofdfuncties te gebruiken hebben we voornamelijk op de site van Mongoose zelf gekeken, hier staat de documentatie van bijvoorbeeld hoe je Mongoose kan verbinden met MongoDB.

https://mongoosejs.com/docs/connections.html

We gebruiken Mongoose omdat je een schema kan maken om mee te werken in onze applicatie code. De schema’s zitten in het mapje models. Zo hebben wij een relatie tussen onze MongoDB documenten en de Mongoose modellen. We hebben 2 schema’s. Serie.js en User.js In de schema zet je neer wat voor value type hoort bij de keyfield.

schema

Connection

Om een connectie te maken met de database gebruiken we de volgende code:

env file

Met een env file zorgen we ervoor dat niemand de volgende data te zien krijgt, alleen wij.

env

Back-end

In de back-end hebben wij in de dbConn.js de volgende code om te connecten met MongoDB.


const mongoose = require('mongoose');

const connectDB = async () => {
    try {
        await mongoose.connect(process.env.DATABASE_URI, {
            useUnifiedTopology: true,
            useNewUrlParser: true
        });
    } catch (err) {
        console.error(err);
    }
}

module.exports = connectDB

Controllers

In de controllers map zit al de Mongoose code om te werken met de database.

controllers

In de map model zitten de models. image

In deze model maken we duidelijk op welke manier we data naar de database sturen