កែ​ប្រែ​ទិន្នន័យ

យើង​អាច​កែ​ប្រែ​ document នៅ​ក្នុង collection ណាមួយ​បាន ដោយ​ប្រើប្រាស់ method ឈ្មោះ update_one() ដោយ​ធ្វើ​ដូច​ខាង​ក្រោម​នេះ៖

from pymongo import MongoClient

myclient = MongoClient("mongodb+srv://username:mypassword@cluster0-y0whw.gcp.mongodb.net/test?retryWrites=true&w=majority")
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)
c:\python>python test.py
{'_id': 1, 'name': 'John', 'address': 'Highway 37'}
{'_id': 2, 'name': 'Peter', 'address': 'Lowstreet 27'}
{'_id': 3, 'name': 'Amy', 'address': 'Apple st 652'}
{'_id': 4, 'name': 'Hannah', 'address': 'Mountain 21'}
{'_id': 5, 'name': 'Michael', 'address': 'Canyon 123'}
{'_id': 6, 'name': 'Sandy', 'address': 'Ocean blvd 2'}
{'_id': 7, 'name': 'Betty', 'address': 'Green Grass 1'}
{'_id': 8, 'name': 'Richard', 'address': 'Sky st 331'}
{'_id': 9, 'name': 'Susan', 'address': 'One way 98'}
{'_id': 10, 'name': 'Vicky', 'address': 'Yellow Garden 2'}
{'_id': 11, 'name': 'Ben', 'address': 'Park Lane 38'}
{'_id': 12, 'name': 'William', 'address': 'Central st 954'}
{'_id': 13, 'name': 'Chuck', 'address': 'Main Road 989'}
{'_id': 14, 'name': 'Viola', 'address': 'Sideway 1633'}

តែ​បើ​យើង​ចង់​កែប្រែ document ជា​ច្រើន​ក្នុង​ពេល​តែ​មួយ យើង​ត្រូវ​ប្រើប្រាស់ method ឈ្មោះ update_many() ដោយ​ធ្វើ​ដូច​ខាង​ក្រោម​នេះ៖

from pymongo import MongoClient

myclient = MongoClient("mongodb+srv://username:mypassword@cluster0-y0whw.gcp.mongodb.net/test?retryWrites=true&w=majority")
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.")
c:\python>python test.py
2 documents updated.