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执行等待程序直到第二天零点的方法
Apr 23 Python
浅谈Python中重载isinstance继承关系的问题
May 04 Python
python3基于TCP实现CS架构文件传输
Jul 28 Python
基于wxPython的GUI实现输入对话框(1)
Feb 27 Python
Python3远程监控程序的实现方法
Jul 15 Python
Python 线程池用法简单示例
Oct 02 Python
Django app配置多个数据库代码实例
Dec 17 Python
jupyter lab的目录调整及设置默认浏览器为chrome的方法
Apr 10 Python
keras实现theano和tensorflow训练的模型相互转换
Jun 19 Python
Django REST Framework 分页(Pagination)详解
Nov 30 Python
如何在向量化NumPy数组上进行移动窗口
May 18 Python
一文搞懂python异常处理、模块与包
Jun 26 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
关于文本留言本的分页代码
2006/10/09 PHP
PHP与SQL注入攻击[三]
2007/04/17 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
2016/03/10 PHP
thinkPHP5.0框架简单配置作用域的方法
2017/03/17 PHP
Alliance vs AM BO3 第一场2.13
2021/03/10 DOTA
保证JavaScript和Asp、Php等后端程序间传值编码统一
2009/04/17 Javascript
jQuery toggle()设置CSS样式
2009/11/05 Javascript
javascript 模式设计之工厂模式详细说明
2010/05/10 Javascript
深入理解JavaScript中的箭头函数
2015/07/28 Javascript
Js制作点击输入框时默认文字消失的效果
2015/09/05 Javascript
js中flexible.js实现淘宝弹性布局方案
2020/06/23 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
2016/05/27 Javascript
Bootstrap 折叠(Collapse)插件用法实例详解
2016/06/01 Javascript
使用jquery给指定的table动态添加一行、删除一行
2016/10/13 Javascript
简单谈谈require模块化jquery和angular的问题
2017/06/23 jQuery
jquery 输入框查找关键字并提亮颜色的实例代码
2018/01/23 jQuery
JS动态插入脚本和插入引用外部链接脚本的方法
2018/05/21 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
2019/07/24 Javascript
微信小程序实现录制、试听、上传音频功能(带波形图)
2020/02/27 Javascript
JS删除对象中某一属性案例详解
2020/09/08 Javascript
[40:57]TI4 循环赛第二日 iG vs EG
2014/07/11 DOTA
[01:00:14]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第三场
2018/04/10 DOTA
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
Python读取图片为16进制表示简单代码
2018/01/19 Python
python开启debug模式的方法
2019/06/27 Python
python 连续不等式语法糖实例
2020/04/15 Python
Django中ORM的基本使用教程
2020/12/22 Python
英国最大的香水商店:The Fragrance Shop
2018/07/06 全球购物
基层工作经历证明
2014/01/13 职场文书
公益广告宣传方案
2014/02/28 职场文书
投标邀请书范本
2015/02/02 职场文书
2015年大学教师工作总结
2015/05/20 职场文书
2015年英语教学工作总结
2015/05/25 职场文书
2015年高三毕业班班主任工作总结
2015/10/22 职场文书
2016年师德师风学习心得体会
2016/01/12 职场文书
JS一分钟在github+Jekyll的博客中添加访问量功能的实现
2021/04/03 Javascript