$push,$pop,$pull,$addToSet,$pullAll,$[],$sort,$slice
dans cette exemple on va travailler avec le tableau categories de la collection produits:
Remarque
Veuillez renomer le champs category à categoriesparce que on créer le champs avec le nom category alors que on a un tableau de plusieur categories
push()
Ajouter la categorie suivante à la fin du tableau categories:
{
_id: 3,
nom: 'category3',
description: 'une description de la catégorie3'
}
Ajouter les categories {"_id":4,"nom":"category4","description":"description4"}
{"_id":5,"nom":"category5","description":"description5"}
pour tout les produits
addToSet()
Permet d'ajouter une liste d'élément dans un tableau sans doublantsRemarque
les categories _id:4 et _id:5 ne seront pas ajoutées parceque sont déja dans le tableau categories$pop
Permet de supprimer le premier ou le dernier élément dans dans un tableau
Supprimer la dernière categorie Ajoutée pour les produits dont leur prix <10 ou la marque =MarqueB
Supprimer la première categorie dans le tableau categories pour tout les produits
tabeaux.position
On peut accéder directement à une case dans un tableau avec sa position
Modifier le nom de la deuxième categorie à "categorieX" pour tous les produits
Augmenter le prix de 20 pour les produits s'ils ont le nom de la 3ème categorie est categorie3
$[]
Permet de modifier toutes les cases du tabeauChanger le nom de toutes les categories à low cost pour les produits qui le prix<5 Modifier la description de toutes les categories qui ont nom="low cost" à low cost description Diminuer de 5 le prix de tous les produits qui ont la categorie.nom low cost
Remarque
lorsque on veut vérifier la valeur d'un attribut d'un document dans un tableau de documentsans spéciser la position de ce document on accède directement au attribut :categories.nom ou categories.description
{ _id: 2, nom: 'produit2', ..... categories: [ { _id: 2, nom: 'Low Cost', description: 'low cost description' }, { _id: 2, nom: 'Low Cost', description: 'low cost description' } ] }