Python MongoDB 删除文档

删除文档

要删除一个文档,我们使用 delete_one() 方法。

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

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

实例

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

  1. import pymongo
  2.  
  3. myclient = pymongo.MongoClient("mongodb://localhost:27017/")
  4. mydb = myclient["mydatabase"]
  5. mycol = mydb["customers"]
  6.  
  7. myquery = { "address": "Mountain 21" }
  8.  
  9. mycol.delete_one(myquery)

删除多个文档

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

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

实例

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

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

删除集合中的所有文档

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

实例

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

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