Python MongoDB 更新文档的实用示例和案例分析

2023-04-15 00:00:00 文档 示例 案例分析

更新单个文档的方法有多种,以下是几种常见的方法:

  1. update_one()

update_one() 方法用于更新单个文档,如果找到符合查询条件的文档,则更新第一个匹配的文档,如果没找到,则不进行任何操作。

示例:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

myquery = { "address": "Highway 37" }
newvalues = { "$set": { "address": "pidancode.com" } }

mycol.update_one(myquery, newvalues)

以上代码会将地址为“Highway 37”的第一个文档的地址改为“pidancode.com”。

  1. update_many()

update_many() 方法用于更新多个文档,如果找到符合查询条件的文档,则更新所有匹配的文档,如果没找到,则不进行任何操作。

示例:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

myquery = { "address": { "$regex": "^S" } }
newvalues = { "$set": { "address": "皮蛋编程" } }

x = mycol.update_many(myquery, newvalues)

print(x.modified_count, "文档已修改")

以上代码会将地址以“S”开头的所有文档的地址改为“皮蛋编程”。

  1. save()

save() 方法用于更新单个文档,如果 _id 字段已经存在,则会更新整个文档,如果 _id 字段不存在,则会插入一条新文档。

示例:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

myquery = { "address": "Highway 37" }
newvalues = { "$set": { "address": "pidancode.com" } }

mycol.save(newvalues)

以上代码会将 _id 为“Highway 37”的文档的地址改为“pidancode.com”。

总结:

以上是 Python 更新 MongoDB 文档的几种方法,根据实际情况选择合适的方法进行更新即可。

相关文章