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 CSV模块使用实例
Apr 09 Python
Python最基本的输入输出详解
Apr 25 Python
用python做一个搜索引擎(Pylucene)的实例代码
Jul 05 Python
Python实现读取txt文件并画三维图简单代码示例
Dec 09 Python
python 3.5实现检测路由器流量并写入txt的方法实例
Dec 17 Python
Python实现k-means算法
Feb 23 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
Dec 28 Python
Django组件cookie与session的具体使用
Jun 05 Python
django框架实现一次性上传多个文件功能示例【批量上传】
Jun 19 Python
Python paramiko模块使用解析(实现ssh)
Aug 30 Python
Pycharm连接远程服务器并远程调试的全过程
Jun 24 Python
python中的getter与setter你了解吗
Mar 24 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
PHP实现无限极分类的两种方式示例【递归和引用方式】
2019/03/25 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
Jquery validation remote 验证的缓存问题解决方法
2014/03/25 Javascript
JavaScript中对循环语句的优化技巧深入探讨
2014/06/06 Javascript
Javascript中replace()小结
2015/09/30 Javascript
JavaScript 弹出子窗体并返回结果到父窗体的实现代码
2016/05/28 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
2016/07/14 Javascript
jQuery基本选择器之标签名选择器
2016/09/03 Javascript
vue2.0+koa2+mongodb实现注册登录
2018/04/10 Javascript
vue计算属性computed、事件、监听器watch的使用讲解
2019/01/21 Javascript
JS开发 富文本编辑器TinyMCE详解
2019/07/19 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
WEB前端性能优化的7大手段详解
2020/02/04 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
2020/11/16 Javascript
如何使用gpu.js改善JavaScript的性能
2020/12/01 Javascript
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
在Python的web框架中配置app的教程
2015/04/30 Python
pymongo给mongodb创建索引的简单实现方法
2015/05/06 Python
Python 探针的实现原理
2016/04/23 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
python3实现高效的端口扫描
2019/08/31 Python
tensorflow 报错unitialized value的解决方法
2020/02/06 Python
python应用Axes3D绘图(批量梯度下降算法)
2020/03/25 Python
Django crontab定时任务模块操作方法解析
2020/09/10 Python
使用py-spy解决scrapy卡死的问题方法
2020/09/29 Python
自荐信格式技巧有哪些呢
2013/11/19 职场文书
情人节活动策划方案
2014/02/27 职场文书
城市规划应届毕业生自荐信
2014/07/04 职场文书
学生党员批评与自我批评
2014/10/15 职场文书
购房委托书
2014/10/15 职场文书
2015年城管个人工作总结
2015/05/15 职场文书
2015年高中班级工作总结
2015/07/21 职场文书
适合后台管理系统开发的12个前端框架(小结)
2021/06/29 Javascript
未发现nvidia显卡怎么办?Win11系统中未检测到nvidia显卡解决教程
2022/04/08 数码科技
Java无向树分析 实现最小高度树
2022/04/09 Javascript