• MondoDB 之 使用python对MongoDB进行删除数据 MondoDB -10


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

    本文使用的测试数据如下(点击图片查看大图):

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

    import pymongo
     
    myclient = pymongo.MongoClient("mongodb://localhost:27017/")
    mydb = myclient["runoobdb"]
    mycol = mydb["sites"]
     
    myquery = { "name": "Taobao" }
     
    mycol.delete_one(myquery)
     
    # 删除后输出
    for x in mycol.find():
      print(x)

    输出结果为:

    删除多个文档

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

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

    import pymongo
     
    myclient = pymongo.MongoClient("mongodb://localhost:27017/")
    mydb = myclient["runoobdb"]
    mycol = mydb["sites"]
     
    myquery = { "name": {"$regex": "^F"} }
     
    x = mycol.delete_many(myquery)
     
    print(x.deleted_count, "个文档已删除")

    输出结果为:

    1 个文档已删除

    删除集合中的所有文档

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

    import pymongo
     
    myclient = pymongo.MongoClient("mongodb://localhost:27017/")
    mydb = myclient["runoobdb"]
    mycol = mydb["sites"]
     
    mycol.drop()

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

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

    > use runoobdb
    switched to db runoobdb
    > show tables;
  • 相关阅读:
    springBoot(3)---目录结构,文件上传
    springBoot(2)---快速创建项目,初解jackson
    VueJs(14)---理解Vuex
    VueJs(13)---过滤器
    VueJs(12)---vue-router(导航守卫,路由元信息,获取数据)
    php多进程中的阻塞与非阻塞
    php 中的信号处理
    dede中arcurl的解析
    dede5.7 GBK 在php5.4环境下 后台编辑器无法显示文章内容
    php5.3 php-fpm 开启 关闭 重启
  • 原文地址:https://www.cnblogs.com/hela/p/11289123.html
Copyright © 2020-2023  润新知