Skip to content

Latest commit

 

History

History
61 lines (47 loc) · 1.46 KB

step-2.md

File metadata and controls

61 lines (47 loc) · 1.46 KB

Étape 2 - Les tableaux

Il est possible d'utiliser des tableaux dans les documents. Par exemple, on peut stocker les compétences des personnes de la manière suivante :

db.personnes.insert({
    "_id": "jdupont",
    "prenom": "Jean",
    "nom": "DUPONT",
    "competences" : [
        "Java",
        "Javascript",
        "HTML"
    ]
})

Pour rechercher les personnes possédant la compétence "Java" :

db.personnes.find({ "competences" : "Java" })

Pour ajouter une compétence :

db.personnes.update({ "_id" : "jdupont" }, {"$push" : {"competences" : "CSS"}})

Pour éviter les doublons :

db.personnes.update({ "_id" : "jdupont" }, {"$addToSet" : {"competences" : "CSS"}})

Pour enlever une compétence :

db.personnes.update({ "_id" : "jdupont" }, {"$pull" : {"competences" : "CSS"}})

Pour limiter le nombre de compétences à 3 (plus de détails ici) :

db.personnes.update(
   { "_id" : "jdupont" },
   {
     $push: {
        "competences": {
           $each: [ "Fortran", "Scala" ],
           $slice: -3
        }
     }
   }
)

Ici, nous avons ajouté "Fortran", "Scala" à droite du tableau et conservé les 3 derniers éléments (d'où le -3). Pour conserver les 3 premiers, on aurait utilisé la valeur +3.

Next

Vous pouvez passer à l'étape suivante : Les index