mongoDB

Forutsetninger:

For å kunne bruke MongoDB på maskinen vår, må vi installere det.

https://www.mongodb.com/download-center/community?jmp=docs

Trykk download. Når fila er lastet ned innstallerer du den.

Velg next, huk av for I accept the terms… og velg next. Velg complete, og pass på at “install mongodb as a service” er huket av ( den burde være det som standard ). Trykk next. La Install MongoDB Compass også være huket av, og trykk next. Til slutt, trykk Install.

Når det er ferdig installert kan du trykke finish. MongoDB Compass åpner seg. Scroll til bunnen og trykk Agree. Kryss ut av guide-vinduet som kommer opp. Til slutt kommer det noen valg – la det stå til standard valg og klikk “Start using compass”. 

Start opp en terminal igjen. Hvis du er på windows, hold inne windows-tasten, trykk r og skriv inn cmd, og trykk enter.

Når du er inne i terminalen, skriv cd (kort for change directory). Deretter kan du trykke windows-tasten og e, og finner frem til der du installerte mongodb ( i mitt tilfelle C:\Program Files\mongodb\Server\4.0\). Når du har funnet frem, ta tak i bin-mappa, og dra den inn i kommandovinduet. Da blir adressa dit kopiert. Når du har

$ cd [adresse-til-mongodb-mappa]

så kan du trykke enter.

Lag deg en mappe der du vil oppbevare databasen din. Det kan være så enkelt som C:\database. Etter du har laget mappen, så skal vi tilbake til kommandolinja, og nå kan vi skrive

$ ./mongod.exe --dbpath=”c:\database”

Hvis den starter opp uten å kræsje, må jeg si gratulerer – du har fått MongoDB opp og gå! 

La oss koble oss på databasen med MongoDB Compass, for å kunne se dataene våre. Fyll inn de to standardverdiene som er grået ut, i de to øverste feltene; localhost, og 27017

Hvis du får opp tre databaser (admin, config og local), er MongoDB oppe og går, og vi kan begynne å bruke den!

Puh, da får vi håpe at vi er ferdige med å installere for en stund.

Opprette database

Nå kan vi omsider opprette vår første database. Klikk på den grønne knappen hvor det står Create Database:

Navnet på databasen spiller ingen rolle, men jeg kalte min for JustATest, siden vi kun skal bruke den til å bli kjent med databaser. I MongoDB kan en database ha flere collections, men vi lager bare én nå, som heter pets. Hvis du har vært borti databaser før, så er collections i MongoDB tilsvarende tabeller i relasjonsdatabaser. Klikk på Create Database.

Når den er ferdig laget, vil du se databasen til venstre. Hvis du klikker på JustATest vil du se at vi har en collection med 0 “documents”, som vil si at vi ikke har noen data i pets enda.


La oss starte å eksperimentere litt med data i pets collection’en. Men hva kan vi egentlig gjøre? Det finnes et akronym som sier nøyaktig hva vi kan gjøre:

Create – Opprette data, lage nye elementer

Read – Lese data 

Update – Oppdatere eksisterende data

Delete – Slette data

I MongoDB kalles hvert element i en collection for et dokument. Trykk på pil-ned ikonet på samme linje som JustATest, og klikk på pets. Trykk på Insert Document:

I vårt tilfelle er Insert det samme som Create. La oss lage et felt som heter name, og sett det til “Meowsalot”. Trykk tab for å gå til neste felt. Vi kan lage et felt til som heter species, og sett det til “cat”:

Hvis vi nå trykker insert, så har vi opprettet vårt første element i en database. Woo!

Vi kan nå se at vi har 1 Document. La oss legge til et par flere eksempler, så vi har litt data å teste mot. Du kan lage {name: “Purrsloud”, species: “cat”} og {name: “Barksalot”, species: “dog”}

Da skal vi ha totalt tre documents i databasen vår:

Så nå kan vi gå videre til R’en i akronymet vårt – for Read. Read kan også tolkes som “load data”, fordi vi henter ut noe fra databasen og viser det frem på et vis. Faktisk, ved å hente frem de dataene vi har sett til nå, så gjør MongoDB en Read-spørring mot databasen, for å hente frem alle dataene som ligger i pets-collection’en. 

Vi kan sette opp egne spørringer, ved å skrive dem inn i Filter-feltet.

Prøv å skrive inn {species: “cat”}, og trykk på den grønne Find-knappen.

Da vil du kun få opp pets som er av rasen katt. Dette er altså en Read-operasjon.

Trykk Reset-knappen til høyre for Find-knappen, slik at vi får se alle document’ene igjen.


La oss nå ta for oss U’en i akronymet vårt – for Update. La oss si at vi vil oppatere navnet på Barksalot til Barksloud. Hold musepekeren over dokumentet Barksalot, og trykk på blyantikonet som dukker opp. Nå kan du klikke på Barksalot, og endre teksten til Barksloud, og trykk Update nede i høyre hjørnet.

Til slutt har vi D for Delete. Hold musepekeren over dokumentet Barksalot, så ser du et ikon av en søppelbøtte. Klikk på den, og klikk på “Delete” knappen for å slette det dokumentet.

Rundt nå tenker du kanskje “dette er jo for enkelt.. Jeg trodde databaser skulle være vankselig?” Og, ja du har helt rett. Dette er vanligvis ikke slik vi jobber med databaser. Vi skal skrive kode som gjør disse operasjonene, slik at vi kan gjøre CRUD operasjonene fra Node.js. Men det å teste ut i det grafiske grensesnittet til MongoDB Compass gjør det lettere å forstå CRUD-operasjonene, og hensikten med dem, og se ting veldig visuelt. 

Kopiér hele safeText-linja, og legg den også inn over db.collection-linja. Gå til findOneAndUpdate-metoden, og bytt ut text-verdien med safeText, istedenfor req.body.text.