Mise à jour Python MongoDB
Mettre à jour la collecte
Vous pouvez mettre à jour un enregistrement, ou un document tel qu'il est appelé dans MongoDB, en utilisant la update_one()
méthode.
Le premier paramètre de la update_one()
méthode est un objet de requête définissant le document à mettre à jour.
Remarque : Si la requête trouve plusieurs enregistrements, seule la première occurrence est mise à jour.
Le deuxième paramètre est un objet définissant les nouvelles valeurs du document.
Exemple
Changer l'adresse de "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" after the update:
for x in mycol.find():
print(x)
Mettre à jour plusieurs
Pour mettre à jour tous les documents répondant aux critères de la requête, utilisez la update_many()
méthode.
Exemple
Mettez à jour tous 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 updated.")