Mises à jour de base des documents
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 fait.
É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 voulons mettre à jour le document qui a 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 entrez 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
Production:
La sortie montre clairement qu'un enregistrement correspondait à la condition et, par conséquent, la valeur du champ pertinent a été modifiée.
Mise à jour de plusieurs valeurs
Pour vous assurer que plusieurs documents / en bloc 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 trouver le document dont l'identifiant 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 voulons que le document dont l'ID employé est «1» soit mis à jour.
Étape 3) Choisissez les noms de champ que vous souhaitez modifier et entrez 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 la commande "trouver" pour rechercher le document avec l'ID d'employé comme 22, vous verrez la sortie suivante s'affichera
Production:
La sortie montre clairement qu'un enregistrement correspondait à la condition et, par conséquent, la valeur du champ pertinent a été modifiée.