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学习之编写查询ip程序
Feb 27 Python
Python3中的列表,元组,字典,字符串相关知识小结
Nov 10 Python
python实现Decorator模式实例代码
Feb 09 Python
Python----数据预处理代码实例
Mar 20 Python
python实现微信定时每天和女友发送消息
Apr 29 Python
python tkinter canvas 显示图片的示例
Jun 13 Python
Pyqt5实现英文学习词典
Jun 24 Python
PyTorch的深度学习入门之PyTorch安装和配置
Jun 27 Python
用sqlalchemy构建Django连接池的实例
Aug 29 Python
Python collections中的双向队列deque简单介绍详解
Nov 04 Python
python3 sorted 如何实现自定义排序标准
Mar 12 Python
python 如何引入协程和原理分析
Nov 30 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下载文件名中解决乱码的问题
2013/06/20 PHP
php格式化日期和时间格式化示例分享
2014/02/24 PHP
php通过隐藏表单控件获取到前两个页面的url
2014/09/09 PHP
浅谈PHP中output_buffering
2015/07/13 PHP
php 使用fopen函数创建、打开文件详解及实例代码
2016/09/24 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
Javascript模板技术
2007/04/27 Javascript
jquery使用淘宝接口跨域查询手机号码归属地实例
2013/11/28 Javascript
js实现跨域的多种方法
2015/12/25 Javascript
vue-hook-form使用详解
2017/04/07 Javascript
Nodejs进阶:express+session实现简易登录身份认证
2017/04/24 NodeJs
使用JavaScript实现表格编辑器(实例讲解)
2017/08/02 Javascript
解决vue router组件状态刷新消失的问题
2018/08/01 Javascript
详解小程序缓存插件(mrc)
2018/08/17 Javascript
微信小程序实现蓝牙打印
2019/09/23 Javascript
使用 Opentype.js 生成字体子集的实例代码详解
2020/05/25 Javascript
解决vue中的无限循环问题
2020/07/27 Javascript
[00:43]TI7不朽珍藏III——幽鬼不朽展示
2017/07/15 DOTA
Python3 入门教程 简单但比较不错
2009/11/29 Python
python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
2015/05/15 Python
windows及linux环境下永久修改pip镜像源的方法
2016/11/28 Python
Python调用C++程序的方法详解
2017/01/24 Python
Python实现生成随机数据插入mysql数据库的方法
2017/12/25 Python
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
Python基于jieba库进行简单分词及词云功能实现方法
2018/06/16 Python
对Python subprocess.Popen子进程管道阻塞详解
2018/10/29 Python
python pexpect ssh 远程登录服务器的方法
2019/02/14 Python
Django项目使用CircleCI的方法示例
2019/07/14 Python
python实现字典嵌套列表取值
2019/12/16 Python
HTML5制作酷炫音频播放器插件图文教程
2014/12/30 HTML / CSS
Footshop罗马尼亚:最好的运动鞋选择
2019/09/10 全球购物
家长给孩子的评语
2014/01/30 职场文书
投资合作协议书范本
2014/04/17 职场文书
《莫泊桑拜师》教学反思
2014/04/23 职场文书
2015年收银员个人工作总结
2015/04/01 职场文书
现实表现证明材料
2015/06/19 职场文书