课程表

Python3 基础教程

Python3 高级教程

工具箱
速查手册

Mongodb 删除数据

当前位置:免费教程 » 程序设计 » Python3

我们可以使用 delete_one() 方法来删除一个文档,该方法第一个参数为查询对象,指定要删除哪些数据。

本文使用的测试数据如下:

1.png

以下实例删除 name 字段值为 "Taobao" 的文档:

  1. #!/usr/bin/python3
  2.  
  3. import pymongo
  4.  
  5. myclient = pymongo.MongoClient("mongodb://localhost:27017/")
  6. mydb = myclient["w3xuedb"]
  7. mycol = mydb["sites"]
  8.  
  9. myquery = { "name": "Taobao" }
  10.  
  11. mycol.delete_one(myquery)
  12.  
  13. # 删除后输出
  14. for x in mycol.find():
  15.   print(x)

输出结果为:

7.png

删除多个文档

我们可以使用 delete_many() 方法来删除多个文档,该方法第一个参数为查询对象,指定要删除哪些数据。

删除所有 name 字段中以 F 开头的文档:

  1. #!/usr/bin/python3
  2.  
  3. import pymongo
  4.  
  5. myclient = pymongo.MongoClient("mongodb://localhost:27017/")
  6. mydb = myclient["w3xuedb"]
  7. mycol = mydb["sites"]
  8.  
  9. myquery = { "name": {"$regex": "^F"} }
  10.  
  11. = mycol.delete_many(myquery)
  12.  
  13. print(x.deleted_count, "个文档已删除")

输出结果为:

  1. 1 个文档已删除

删除集合中的所有文档

delete_many() 方法如果传入的是一个空的查询对象,则会删除集合中的所有文档:

  1. #!/usr/bin/python3
  2.  
  3. import pymongo
  4.  
  5. myclient = pymongo.MongoClient("mongodb://localhost:27017/")
  6. mydb = myclient["w3xuedb"]
  7. mycol = mydb["sites"]
  8.  
  9. = mycol.delete_many({})
  10.  
  11. print(x.deleted_count, "个文档已删除")

输出结果为:

  1. 5 个文档已删除


删除集合

我们可以使用 drop() 方法来删除一个集合。

以下实例删除了 customers 集合:

  1. #!/usr/bin/python3
  2.  
  3. import pymongo
  4.  
  5. myclient = pymongo.MongoClient("mongodb://localhost:27017/")
  6. mydb = myclient["w3xuedb"]
  7. mycol = mydb["sites"]
  8.  
  9. mycol.drop()

如果删除成功 drop() 返回 true,如果删除失败(集合不存在)则返回 false。

我们使用以下命令在终端查看集合是否已删除:

  1. > use w3xuedb
  2. switched to db w3xuedb
  3. > show tables;
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号