Omet navegació

3.3 - Utilització de MongoDB

Començarem la utilització de MongoDB des de la consola que havíem arrancat al final de la instal·lació.

Recordeu que tindrem dues teminals:

  • Una amb el servidor en marxa (i que no hem de tancar): mongod
  • Una altra amb el client que es connecta al servidor: mongo

En aquesta última consola del client podem utilitzar sentències del llenguatge Javascipt, però el que més ens interessarà, evidentment, són les sentències d'accés a dades. Del llenguatge Javascript pràcticament l'únic que utilitzarem són variables i algunes funcions.

Utilització de variables

Com camentàvem el que més utilitzarem del llenguatge Javascript és la utilització de variables, que ens pot ser molt útil en algunes ocasions. Podrem utilitzar-les durant la sessió, però evidentment no perduraran d'una sessió a l'altra.

Per a definir una variable podem posar opcionalment davant la paraula reservada var, però no és necessari. Posarem el nom de la variable, el signe igual, i a continuació el valor de la variable, que pot ser una constant, o una expressió utilitzant constants, operadors, altres variables, funcions de Javascript, ...

Especialment interessant són les variables que poden contenir un document JSON.

Per exemple:

> a = 30
30
> b=a/4
7.5
> Math.sqrt(b)
2.7386127875258306
> doc = {camp1: "Hola", camp2: 45, camp3: new Date()}
{
    "camp1" : "Hola",
    "camp2" : 45,
    "camp3" : ISODate("2016-02-23T19:10:29.560Z")
}
>

Una variable de tipus JSON es podrà modificar molt facilment, tota ella, o algun dels elements. Per a arribar als elements posarem nom_variable.nom_camp:

> doc.camp4 = 3.141592
3.141592

> doc.camp5 = [ 2 , 4 , 6 , 8]
[ 2, 4, 6, 8 ]

I si ara intentem traure el contingut de la variable:

> doc
{
    "camp1" : "Hola",
    "camp2" : 45,
    "camp3" : ISODate("2016-02-24T22:31:12.724Z"),
    "camp4" : 3.141592,
    "camp5" : [
        2,
        4,
        6,
        8
    ]
}
>

També hem de fer constar que en un document, que serà de tipus JSON (pràcticament), serà un conjunt de parelles clau-valor, amb algunes restriccions:

  • El document (que moltes vegades l'associarem a objecte de JSON) va entre claus ( { } )
  • Els elements d'un objecte van separats per comes, i són parelles clau-valor.
  • La clau no pot ser nula, ni repetir-se en el mateix objecte (sí en diferents objectes, clar)
  • Els valors són dels tipus que veurem en la pregunta 3.2.1
  • Un document guardat ha de contenir obligatòriament un camp anomenat _id, i que contindrà un valor únic en la col·lecció i servirà per a identificar-lo. Si en guardar un document no li hem posat camp _id, el generarà automàticament MongoDB.