Sommaire

Opérateurs de tableaux

Ajouter des valeurs dans un tableau à l’aide de $push

Cet opérateur nous permet d’ajouter (littéralement, de « pousser ») une ou plusieurs valeurs à l’intérieur d’un tableau. Sa syntaxe est très intuitive :

{ $push: { < champ >: < valeur >, ...} }

L’opérateur $push possède un inverse, très logiquement nommé $pull qui possède exactement la même syntaxe.

Créons une collection hobbies pour nous exercer et insérons-y quelques documents :

db.hobbies.insertMany([ 
 {"_id": 1, "nom": "Yves"}, 
 {"_id": 2, "nom": "Sandra", "passions": []}, 
 {"_id": 3, "nom": "Line", "passions": ["Théâtre"]} 
])

Ajoutons une passion à Yves, qui est un randonneur invétéré :

db.hobbies.updateOne({"_id": 1}, {$push: {"passions": "Randonnée"}})

Le champ n’existait pas dans le document d’identifiant 1 ; il a donc été créé et son unique élément « Randonnée » y a été ajouté.

Line s’est découvert une passion pour la natation ; cependant, elle a déjà une autre passion, la mise à jour va donc consister à ajouter un nouvel élément ...