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 27 Python
python开发利器之ulipad的使用实践
Mar 16 Python
python爬虫入门教程--正则表达式完全指南(五)
May 25 Python
django富文本编辑器的实现示例
Apr 10 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
Jun 26 Python
Python整数对象实现原理详解
Jul 01 Python
PyTorch中的padding(边缘填充)操作方式
Jan 03 Python
TensorFlow MNIST手写数据集的实现方法
Feb 05 Python
appium+python adb常用命令分享
Mar 06 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
Apr 19 Python
python中sys模块是做什么用的
Aug 16 Python
Python字符串的15个基本操作(小结)
Feb 03 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使用exec shell命令注入的方法讲解
2013/11/12 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
2014/05/04 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
2015/04/26 PHP
PHP批量去除BOM头内容信息代码
2016/03/11 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
2017/02/28 PHP
JavaScript Cookie 直接浏览网站分网址
2009/12/08 Javascript
关于jquery.validate1.9.0前台验证的使用介绍
2013/04/26 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
2014/08/01 Javascript
JQuery Tips相关(1)----关于$.Ready()
2014/08/14 Javascript
怎么限制input的text里输入的值只能是数字(正则、js)
2016/05/16 Javascript
微信小程序 图片宽度自适应的实现
2017/04/06 Javascript
在Vue组件上动态添加和删除属性方法
2018/02/23 Javascript
微信小程序实现购物页面左右联动
2019/02/15 Javascript
JS删除数组指定值常用方法详解
2020/06/04 Javascript
JS寄快递地址智能解析的实现代码
2020/07/16 Javascript
vue表单验证之禁止input输入框输入空格
2020/12/03 Vue.js
[49:02]KG vs Infamous 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
Python的ORM框架SQLObject入门实例
2014/04/28 Python
Python通过解析网页实现看报程序的方法
2014/08/04 Python
python实现中文转换url编码的方法
2016/06/14 Python
python使用super()出现错误解决办法
2017/08/14 Python
Python之Scrapy爬虫框架安装及使用详解
2017/11/16 Python
Python判断两个对象相等的原理
2017/12/12 Python
简单了解python中的f.b.u.r函数
2019/11/02 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
python 基于pygame实现俄罗斯方块
2021/03/02 Python
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
Myprotein亚太地区:欧洲第一在线运动营养品牌
2020/12/20 全球购物
建筑实习自我鉴定
2013/10/18 职场文书
服装公司总经理岗位职责
2013/11/30 职场文书
申报职称专业技术个人的自我评价
2013/12/12 职场文书
迅雷Cued工作心得体会
2014/01/27 职场文书
企业员工集体活动方案
2014/08/17 职场文书
党员个人剖析材料
2014/09/30 职场文书
2014年宣传思想工作总结
2014/12/10 职场文书
商务信函英语问候语
2015/11/10 职场文书