目录

Python MongoDB 更新


更新集合

您可以使用 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.")
运行示例 »