Python MongoDB 更新文档的实用示例和案例分析
更新单个文档的方法有多种,以下是几种常见的方法:
- 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”。
- 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”开头的所有文档的地址改为“皮蛋编程”。
- 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 文档的几种方法,根据实际情况选择合适的方法进行更新即可。
相关文章