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中还原JavaScript的escape函数编码后字符串的方法
Aug 22 Python
使用Python脚本实现批量网站存活检测遇到问题及解决方法
Oct 11 Python
Python简单实现网页内容抓取功能示例
Jun 07 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
Dec 13 Python
python 求1-100之间的奇数或者偶数之和的实例
Jun 11 Python
Python3实现汉语转换为汉语拼音
Jul 08 Python
python openpyxl使用方法详解
Jul 18 Python
python爬虫模拟浏览器访问-User-Agent过程解析
Dec 28 Python
Python 将json序列化后的字符串转换成字典(推荐)
Jan 06 Python
零基础学Python之前需要学c语言吗
Jul 21 Python
django中ImageField的使用详解
Dec 21 Python
python缺失值的解决方法总结
Jun 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
php修改时间格式的代码
2011/05/29 PHP
PHP简洁函数小结
2011/08/12 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
2021/03/09 PHP
JS随即打乱数组实现代码
2012/12/03 Javascript
固定表格行列(expression)在IE下适用
2013/07/25 Javascript
JavaScript 事件绑定及深入
2015/04/13 Javascript
javascript实现英文首字母大写
2015/04/23 Javascript
js实现简洁的滑动门菜单(选项卡)效果代码
2015/09/04 Javascript
JavaScript跨域调用基于JSON的RESTful API
2016/07/09 Javascript
jquery submit()不能提交表单的解决方法
2017/04/24 jQuery
vuex 使用文档小结篇
2018/01/11 Javascript
vue实例中data使用return包裹的方法
2018/08/27 Javascript
Angular CLI 使用教程指南参考小结
2019/04/10 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
2020/03/12 jQuery
Python中的__slots__示例详解
2017/07/06 Python
利用python打印出菱形、三角形以及矩形的方法实例
2017/08/08 Python
Python将文本去空格并保存到txt文件中的实例
2018/07/24 Python
pycharm 解除默认unittest模式的方法
2018/11/30 Python
python使用udp实现聊天器功能
2018/12/10 Python
在Python中关于使用os模块遍历目录的实现方法
2019/01/03 Python
Pytorch Tensor的索引与切片例子
2019/08/18 Python
python安装scipy的步骤解析
2019/09/28 Python
基于PyTorch的permute和reshape/view的区别介绍
2020/06/18 Python
HTML5新标签兼容——> 的两种方法
2018/09/12 HTML / CSS
提高EJB性能都有哪些技巧
2012/03/25 面试题
车间副主任岗位职责
2013/12/24 职场文书
大学竞选班长演讲稿
2014/04/24 职场文书
品牌推广策划方案
2014/05/28 职场文书
物流管理专业自荐信
2014/06/23 职场文书
镇政府副镇长群众路线专题民主生活会对照检查材料
2014/09/19 职场文书
2014全年工作总结
2014/11/27 职场文书
2015年禁毒工作总结
2015/04/30 职场文书
2016高一新生军训心得体会
2016/01/11 职场文书
导游词之上海杜莎夫人蜡像馆
2019/11/22 职场文书
教你用Python爬取英雄联盟皮肤原画
2021/06/13 Python
Go语言grpc和protobuf
2022/04/13 Golang