python使用pymongo与MongoDB基本交互操作示例


Posted in Python onApril 09, 2020

本文实例讲述了python使用pymongo与MongoDB基本交互操作。分享给大家供大家参考,具体如下:

本文内容:

  • pymongo的使用:
    • 安装模块
    • 导入模块
    • 连接mongod
    • 获取\切换数据库
    • 选择集合
    • CRUD操作

首发时间:2018-03-18 20:11


pymongo的使用:

  • 安装模块:
    pip3 pymongo
  • 导入模块:
    import pymongo
  • 连接mongod:
    conn=pymongo.MongoClient(host="localhost",port=27017)
  • 获取\切换数据库:
    # db=conn.School #获取School数据库 db=conn['School'] #获取School数据库
  • 选择集合:
    # collection=db.teacher#选择teacher集合 collection=db['teacher']#选择teacher集合
  • CRUD操作:【pymongo的方法与mongo的命令基本一致,名字类似的功能也类似,参数可以参考mongo的命令,以及源码说明】
    • 查看文档:
      • find():返回值是一个Cursor类型的,需要迭代这个返回值才能获取结果
      • find_one():返回值是查找结果
      • python使用pymongo与MongoDB基本交互操作示例
        import
        pymongo conn=pymongo.MongoClient(host="localhost",port=27017) db=conn['School'] collection=db['teacher'] rel=collection.find() print([r for r in rel]) rel=collection.find({"name":"Alex"}) print([r for r in rel]) # rel=collection.find({"age":{"$gt":20}}) rel=collection.find({"$or":[{"name":"Amy"},{"name":"Alex"}]}) print([r for r in rel]) rel=collection.find_one({"name":"jack"}) print(rel) print(rel['name'])#单个文档情况下可用来取出指定值
              
        conn.close()
    • 插入文档:
      • insert():插入单条文档,可选,多条文档使用列表插入,已经不建议使用
      • insert_one():插入单条文档
      • insert_many():插入多条文档
        import
        pymongo conn=pymongo.MongoClient(host="localhost",port=27017) db=conn['School'] collection=db['teacher'] collection.insert({"name":"Job","course":"career"}) # col.insert(document)#**DEPRECATED** - Use :meth:`insert_one` or :meth:`insert_many` instead.
        
        #
        insert是不推荐用了,建议使用insert_one,insert_many collection.insert_one({"name":"Job1","course":"career1"}) t1={"name":"Job2","course":"career2"} t2={"name":"Job3","course":"career3"
        }
        collection.insert_many([t1,t2])
        conn.close()
    • 修改文档:
      • update():修改单条或多条文档,由选项multi决定,但已不推荐使用该方法,建议使用update_one()、update_many()
      • update_one():修改单条文档
      • update_many():修改多条文档
      • import
        pymongo conn=pymongo.MongoClient(host="localhost",port=27017) db=conn['School'] collection=db['teacher'] # rel=collection.update({"name":"Job1"},{ "$set":{"name":"Bob"}})#不推荐使用
        
        #
        collection.update_one({"name":"Job"},{ "$set":{"name":"Bob"}}) collection.update_many({"name":"Job1"},{ "$set":{"name":"Bob"
        }})
        
        conn.close()
    • 删除文档:
      • remove():删除指定文档,但已经不建议使用,建议使用delete_one和delete_many
      • delete_one(): 删除符合条件的一条文档
      • delete_many():删除符合条件的所有文档
      • import
        pymongo conn=pymongo.MongoClient(host="localhost",port=27017) db=conn['School'] collection=db['teacher'] # collection.remove({"name":"Bob"})
        
        #
        collection.delete_one({"name":"Bob2"}) collection.delete_many({"name":"Job3"
        })
        conn.close()

 想了解更多,可以参考pymongo官方文档:http://api.mongodb.com/python/current/api/pymongo/

python使用pymongo与MongoDB基本交互操作示例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
跟老齐学Python之有点简约的元组
Sep 24 Python
给Python初学者的一些编程技巧
Apr 03 Python
Python检测网站链接是否已存在
Apr 07 Python
Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法
Sep 08 Python
python3读取excel文件只提取某些行某些列的值方法
Jul 10 Python
python 2.7.13 安装配置方法图文教程
Sep 18 Python
实例讲解python中的协程
Oct 08 Python
python字典值排序并取出前n个key值的方法
Oct 17 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
Jul 06 Python
python可视化篇之流式数据监控的实现
Aug 07 Python
Python socket模块方法实现详解
Nov 05 Python
python如何爬取动态网站
Sep 09 Python
使用Python和百度语音识别生成视频字幕的实现
Apr 09 #Python
利用Python制作动态排名图的实现代码
Apr 09 #Python
使用python接受tgam的脑波数据实例
Apr 09 #Python
解决使用python print打印函数返回值多一个None的问题
Apr 09 #Python
Python 实现自动完成A4标签排版打印功能
Apr 09 #Python
python网络编程:socketserver的基本使用方法实例分析
Apr 09 #Python
Python使用扩展库pywin32实现批量文档打印实例
Apr 09 #Python
You might like
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
jquery不支持toggle()高(新)版本的问题解决
2016/09/24 PHP
基于thinkPHP3.2实现微信接入及查询token值的方法
2017/04/18 PHP
用js统计用户下载网页所需时间的脚本
2008/10/15 Javascript
javascript fullscreen全屏实现代码
2009/04/09 Javascript
关于firefox的ElementTraversal 接口 使用说明
2010/11/11 Javascript
JavaScript中的ubound函数使用实例
2014/11/04 Javascript
javascript实现限制上传文件大小
2015/02/06 Javascript
js解决movebox移动问题
2016/03/29 Javascript
关于Function中的bind()示例详解
2016/12/02 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
Android中Okhttp3实现上传多张图片同时传递参数
2017/02/18 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
2017/03/19 Javascript
JS中SetTimeout和SetInterval使用初探
2017/03/23 Javascript
React根据宽度自适应高度的示例代码
2017/10/11 Javascript
JavaScript对象的特性与实践应用深入详解
2018/12/30 Javascript
JavaScript实现随机五位数验证码
2019/09/27 Javascript
JS面向对象编程实现的Tab选项卡案例详解
2020/03/03 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
2020/09/25 Javascript
python Django框架实现自定义表单提交
2016/03/25 Python
Python开发的HTTP库requests详解
2017/08/29 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
2020/02/16 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
HTML5中的Web Notification桌面右下角通知功能的实现
2018/04/19 HTML / CSS
瑞贝卡·明可弗包包官网:Rebecca Minkoff
2016/07/21 全球购物
意大利值得信赖的在线超级药房:PillolaStore
2020/02/05 全球购物
材料加工硕士生求职信
2013/10/10 职场文书
银行出纳岗位职责
2013/11/25 职场文书
上课玩手机检讨书
2014/02/08 职场文书
铁路安全事故反思
2014/04/26 职场文书
令人印象深刻的自荐信
2014/05/25 职场文书
学校春季防火方案
2014/06/08 职场文书
辞职信模板(中英文版)
2015/02/27 职场文书
详解Html5项目适配系统深色模式方案总结
2021/04/14 HTML / CSS
golang实现浏览器导出excel文件功能
2022/03/25 Golang