database - claudiobak/Backend GitHub Wiki

Database

MongoDB is een opensource document-georiënteerde database en is geschreven in C++. Er is geen schema, de documenten worden in de vorm van BSON opgeslagen en de structuur van deze documenten is flexibel (Wikipedia, 2021).

School raadde ons aan om MongoDB te gebruiken als database. Ik heb voor MongoDB een account aangemaakt en heb een server toegevoegd. Deze moest ik vervolgens met een key in mijn project files zetten zodat ik een connectie kon maken met de database. Dit was even uitvogelen hoe dit nou precies werkte echter uiteindelijk is heb ik alles werkend gekregen.

mongodb illustration

Mongoose

Voor de structuur in mijn database heb ik Mongoose gebruikt. Het voordeel van het gebruiken van Mongoose is dat je gemakkelijk een schema aan kan maken die je vervolgens gaat gebruiken voor je applicatie. Een ander groot voordeel is dat het built in data validation heeft. Als ik dit zelf zou willen maken kost dit een stuk meer tijd. Ik heb mijn schema op de volgende manier ingedeeld:

const mongoose = require('mongoose')
// const Schema = mongoose.Schema

const UserSchema = new mongoose.Schema({
    username: {
        type: String,
        required: true,
    }, 
    email: {
        type: String,
        required: true,
        unique: true
    }, 
    password: {
        type: String,
        required: true,
    }, 
    schoolname: {
        type: String,
        required: true,
    }, 
});

const User = mongoose.model('User', UserSchema)
module.exports = User

image