Mongoose - Juliusmeeuwisse/blok-tech-crocmeisters GitHub Wiki

Mongoose

Nadat mijn feature klaar was heb ik gekeken naar het opsplitsen van mijn code aan de hand van het MVC model (zie code structure voor meer info over MVC) ik heb er toen ook voor gekozen om de connectie met de database aan te passen. Ik gebruik nu de nam package mongoose om te verbinden met mongoDB. Mongoose maakt het gemakkelijker om informatie uit te wisselen met de database.

De verbinding met mongoose lijkt op de manier van verbinden zoals ik eerst deed, wat veranderd, is dat je nu werkt aan de hand van een Schema .

in server.js maak in met de volgende code verbinding met de database:

mongoose.connect(url, { useNewUrlParser: true, useUnifiedTopology: true })
  .then((result) => app.listen(port, console.log('Server running!🎉')))
  .catch((err) => console.log(err))

in mijn models heb ik Javascript bestand users.js waarin ik aangeef doormiddel van de volgende code met welke collection ik informatie uitwissel en hoe elk document in de collection is opgebouwd:

const Schema = mongoose.Schema

const userSchema = new Schema({
  id: String,
  name: String,
  age: Number,
  email: String,
  picture: String,
  likes: Array,
  dislikes: Array,
  matches: Array,
  songs: [
    { title: String, artist: String, source: String },
    { title: String, artist: String, source: String },
    { title: String, artist: String, source: String }
  ],
  genres: Array
})

const Users = mongoose.model('users', userSchema)

Zoals je ziet is dit schema hetzelfde zoals ik hier Boven al had beschreven waaruit elk document bestaat. Door te verbinden via mongoose heb ik nu een overzichtelijkere code en is het voor mij makkelijker communiceren met de database.