Python MongoDB 删除文档
删除文档
要删除一个文档,我们使用 delete_one()
方法。delete_one()
方法的第一个参数是 query 对象,用于定义要删除的文档。
注释:如果查询找到了多个文档,则仅删除第一个匹配项。
删除地址为 "Mountain 21" 的文档:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": "Mountain 21" }
mycol.delete_one(myquery)
#print the customers collection after the deletion:
for x in mycol.find():
print(x)
删除多个文档
要删除多个文档,请使用 delete_many()
方法。
delete_many()
方法的第一个参数是一个查询对象,用于定义要删除的文档。
删除地址以字母 S 开头的所有文档:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": {"$regex": "^S"} }
x = mycol.delete_many(myquery)
print(x.deleted_count, "documents deleted")
删除集合中的所有文档
要删除集合中的所有文档,请把空的查询对象传递给 delete_many()
方法:
删除 "customers" 集合中的所有文档:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
x = mycol.delete_many({})
print(x.deleted_count, "documents deleted")