Update, delete & Switch
Modifier des données : update()
Modifier un document : updateOne
Structure
Exemple
Je veux modifier l'unité de mesure de de la taille, et le statut du premier document qui a le statut B.
Si je veux créer mon document s'il n'existe pas, je dois ajouter la propriété upsert:
Modifier plusieurs documents : updateMany
Si plusieurs documents répondent à vos critères de sélection, ils seront tous modifiés.
Ajouter des valeurs (sans doublon) à un tableau imbriqué : addToSet
Si je veux ajouter une valeur en évitant les doublons dans un tableau imbriqué du document, j'utilise l'opérateur addToSet.
Ajouter une valeur (avec doublons) à un tableau imbriqué : push
Si je veux ajouter une valeur à un tableau imbriqué même si elle existe déjà, j'utilise l'opérateur push.
Opérateurs mathématiques
Addition : inc
Soustraire : inc négatif
Multiplier : mul
Diviser avec mul
Supprimer des données : delete()
Supprimer tous les documents
Supprimer des documents en fonction de critères
Supprimer un document
Supprimer un champ : unset
Exercices update et delete
Modification avancée : switch
Dans MongoDB, l'opérateur switch permet de modifier un document selon une liste de cas, un peu comme des conditions if else if.
Exemple d'usage d'un switch
Je veux modifier tous les types des documents en traduisant leurs noms :
Je récupère les types de documents pour construire mon switch :
Ensuite je construis mon switch :
Attention à l'ordre de vos case : seul le premier qui correspond sera appliqué, donc allez toujours du plus précis au moins précis :
Imaginons que vous voulez un comportement particulier si une note est supérieure à 10, et un autre comportement si une note est supérieure à 15. Vous devez placer la condition "supérieure à 15" en premier.