📅  最后修改于: 2023-12-03 15:18:56.590000             🧑  作者: Mango
在 MongoDB 中,find_one_and_update()
方法被用来更新符合指定查询条件的单个文档。
db.collection.find_one_and_update(filter, update, projection, sort, upsert, return_document, array_filters, session)
import pymongo
client = pymongo.MongoClient("mongodb://localhost:27017/")
db = client["mydatabase"]
mycol = db["customers"]
query = { "address": "Park Lane 38" }
update = { "$set": { "address": "Canyon 123" } }
# 查询条件为 {"address": "Park Lane 38"} 的文档,并将其地址字段更新为 "Canyon 123"。
result = mycol.find_one_and_update(query, update)
# 打印更新后的文档
print(result)
以上示例中,我们建立了一个连接到 MongoDB 数据库的客户端,然后选择了一个名为 mydatabase
的数据库,再选择了名为 customers
的集合。我们使用的查询条件是 {"address": "Park Lane 38"}
,这表示我们要查找地址为 Park Lane 38
的文档。然后,我们使用了 $set
操作符将地址字段更新为 Canyon 123
。最后,我们打印出更新后的文档。
在运行时,输出结果将是更新后的文档内容。
projection
参数,则默认返回操作后的文档。upsert
参数为 True
,则如果没有符合查询条件的文档,将会创建一个新文档。