Python MongoDB Update
อัพเดทคอลเลกชั่น
คุณสามารถอัปเดตระเบียนหรือเอกสารตามที่เรียกใน MongoDB ได้โดยใช้update_one()
วิธีการ
พารามิเตอร์แรกของupdate_one()
เมธอดคืออ็อบเจ็กต์การสืบค้นที่กำหนดว่าเอกสารใดที่จะอัปเดต
หมายเหตุ:ถ้าแบบสอบถามพบมากกว่าหนึ่งระเบียน เฉพาะรายการแรกเท่านั้นที่จะได้รับการอัปเดต
พารามิเตอร์ที่สองคืออ็อบเจ็กต์ที่กำหนดค่าใหม่ของเอกสาร
ตัวอย่าง
เปลี่ยนที่อยู่จาก "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)
อัพเดทมากมาย
หากต้องการอัปเดต เอกสาร ทั้งหมดที่ตรงตามเกณฑ์ของแบบสอบถาม ให้ใช้update_many()
วิธีการ
ตัวอย่าง
อัปเดตเอกสารทั้งหมดที่อยู่ที่ขึ้นต้นด้วยตัวอักษร "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.")