Python MongoDB 删除文档

删除文档

要删除一个文档,我们使用 delete_one() 方法。delete_one() 方法的第一个参数是 query 对象,用于定义要删除的文档。

注释:如果查询找到了多个文档,则仅删除第一个匹配项。

删除地址为 "Mountain 21" 的文档:

  1. import pymongo
  2. myclient = pymongo.MongoClient("mongodb://localhost:27017/")
  3. mydb = myclient["mydatabase"]
  4. mycol = mydb["customers"]
  5. myquery = { "address": "Mountain 21" }
  6. mycol.delete_one(myquery)
  7. #print the customers collection after the deletion:
  8. for x in mycol.find():
  9. print(x)

删除多个文档

要删除多个文档,请使用 delete_many() 方法。

delete_many() 方法的第一个参数是一个查询对象,用于定义要删除的文档。

删除地址以字母 S 开头的所有文档:

  1. import pymongo
  2. myclient = pymongo.MongoClient("mongodb://localhost:27017/")
  3. mydb = myclient["mydatabase"]
  4. mycol = mydb["customers"]
  5. myquery = { "address": {"$regex": "^S"} }
  6. x = mycol.delete_many(myquery)
  7. print(x.deleted_count, "documents deleted")

删除集合中的所有文档

要删除集合中的所有文档,请把空的查询对象传递给 delete_many() 方法:

删除 "customers" 集合中的所有文档:

  1. import pymongo
  2. myclient = pymongo.MongoClient("mongodb://localhost:27017/")
  3. mydb = myclient["mydatabase"]
  4. mycol = mydb["customers"]
  5. x = mycol.delete_many({})
  6. print(x.deleted_count, "documents deleted")

分类导航