MongoDB Document Update() avec exemple
Mises à jour des documents de base
MongoDB fournit la commande update() pour mettre à jour les documents d'une collection. Pour mettre à jour uniquement les documents que vous souhaitez mettre à jour, vous pouvez ajouter un critère à l'instruction de mise à jour afin que seuls les documents sélectionnés soient mis à jour.
Les paramètres de base de la commande sont une condition pour laquelle le document doit être mis à jour, et la suivante est la modification qui doit être effectuée.
L'exemple suivant montre comment cela peut être réalisé.
Étape 1) Émettez la commande de mise à jour
Étape 2) Choisissez la condition que vous souhaitez utiliser pour décider quel document doit être mis à jour. Dans notre exemple, nous souhaitons mettre à jour le document qui porte l'ID d'employé 22.
Étape 3) Utilisez la commande set pour modifier le nom du champ
Étape 4) Choisissez le nom de champ que vous souhaitez modifier et saisissez la nouvelle valeur en conséquence.
db.Employee.update( {"Employeeid" : 1}, {$set: { "EmployeeName" : "NewMartin"}});
Si la commande est exécutée avec succès, la sortie suivante sera affichée
Sortie :
Le résultat montre clairement qu'un enregistrement correspondait à la condition et que la valeur du champ concerné a donc été modifiée.
Mise à jour de plusieurs valeurs
Pour garantir que plusieurs documents/en masse sont mis à jour en même temps dans MongoDB vous devez utiliser l'option multi car sinon par défaut un seul document est modifié à la fois.
L'exemple suivant montre comment mettre à jour de nombreux documents.
Dans cet exemple, nous allons d'abord rechercher le document dont l'identifiant d'employé est « 1 » et changer le nom de l'employé de « Martin » à « NewMartin ».
Étape 1) Émettez la commande de mise à jour
Étape 2) Choisissez la condition que vous souhaitez utiliser pour décider quel document doit être mis à jour. Dans notre exemple, nous souhaitons que le document dont l'identifiant d'employé est « 1 » soit mis à jour.
Étape 3) Choisissez le nom de champ que vous souhaitez modifier et saisissez leur nouvelle valeur en conséquence.
db.Employee.update ( { Employeeid : 1 }, { $set : { "EmployeeName" : "NewMartin", "Employeeid" : 22 } } )
Si la commande est exécutée avec succès et si vous exécutez le "trouve" commande pour rechercher le document avec l'identifiant d'employé égal à 22, vous verrez le résultat suivant s'affichera
Sortie :
Le résultat montre clairement qu'un enregistrement correspondait à la condition et que la valeur du champ concerné a donc été modifiée.