Mise à jour MongoDB Python

Mettre à jour la collection

Vous pouvez utiliser update_one() Méthode pour mettre à jour un enregistrement ou un document appelé dans MongoDB.

update_one() Le premier paramètre de la méthode est l'objet query, utilisé pour définir le document à mettre à jour.

Remarque :Si la recherche trouve plusieurs enregistrements, seule la première correspondance est mise à jour.

Le deuxième paramètre est l'objet qui définit la nouvelle valeur du document.

Exemple

Modifier l'adresse "Valley 345" à "Canyon 123" :

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": "Valley 345" }
newvalues = { "$set": { "address": "Canyon 123" } }
mycol.update_one(myquery, newvalues)
#print "customers" après la mise à jour:
for x in mycol.find():
  print(x)

Exécuter l'exemple

Mise à jour multiple

Pour mettre à jour tous les documents correspondant à la requête, utilisez update_many() Méthode.

Exemple

Mettre à jour les documents dont l'adresse commence par la lettre "S":

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": { "$regex": "^S" } }
newvalues = { "$set": { "name": "Minnie" } }
x = mycol.update_many(myquery, newvalues)
print(x.modified_count, "documents mis à jour.")

Exécuter l'exemple