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 相关文章推荐
Python2.5/2.6实用教程 入门基础篇
Nov 29 Python
python使用arcpy.mapping模块批量出图
Mar 06 Python
python获取多线程及子线程的返回值
Nov 15 Python
selenium+python自动化测试之鼠标和键盘事件
Jan 23 Python
Falsk 与 Django 过滤器的使用与区别详解
Jun 04 Python
python3实现mysql导出excel的方法
Jul 31 Python
Python collections模块使用方法详解
Aug 28 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
Oct 17 Python
Python读取YAML文件过程详解
Dec 30 Python
Python异步编程之协程任务的调度操作实例分析
Feb 01 Python
pyspark给dataframe增加新的一列的实现示例
Apr 24 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
Sep 29 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.MVC的模板标签系统(一)
2006/09/05 PHP
phpMyAdmin 安装教程全攻略
2007/03/19 PHP
apache+php+mysql安装配置方法小结
2010/08/01 PHP
php mysql 判断update之后是否更新了的方法
2012/01/10 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
2013/07/15 PHP
phpmailer中文乱码问题的解决方法
2014/04/22 PHP
php文档工具PHP Documentor安装与使用方法
2016/01/25 PHP
全面解读PHP的Yii框架中的日志功能
2016/03/17 PHP
Laravel 模型关联基础教程详解
2019/09/17 PHP
laravel 时间格式转时间戳的例子
2019/10/11 PHP
js函数般调用正则
2008/04/08 Javascript
jQuery第三课 修改元素属性及内容的代码
2010/03/14 Javascript
js使用eval解析json实例与注意事项分享
2014/01/18 Javascript
jQuery实现购物车数字加减效果
2015/03/14 Javascript
详谈jQuery中的一些正则匹配表达式
2017/03/08 Javascript
angularJS之$http:与服务器交互示例
2017/03/17 Javascript
微信小程序 开发MAP(地图)实例详解
2017/06/27 Javascript
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
Python中的startswith和endswith函数使用实例
2014/08/25 Python
Python图片转换成矩阵,矩阵数据转换成图片的实例
2018/07/02 Python
Python编写通讯录通过数据库存储实现模糊查询功能
2019/07/18 Python
Python基于staticmethod装饰器标示静态方法
2020/10/17 Python
Answear匈牙利:来自全球200多个知名时尚品牌
2017/04/21 全球购物
奥地利网上书店:Weltbild
2017/07/14 全球购物
Zadig&Voltaire官网:法国时装品牌
2018/01/05 全球购物
捷克玩具商店:Bambule
2019/02/23 全球购物
2014年乡镇植树节活动方案
2014/02/28 职场文书
高一学生评语大全
2014/04/25 职场文书
外贸会计专业自荐信
2014/06/22 职场文书
法人授权委托书样本
2014/09/19 职场文书
解除同居协议书
2015/01/29 职场文书
2015年实习生工作总结报告
2015/04/28 职场文书
如何搭建 MySQL 高可用高性能集群
2021/06/21 MySQL
基于HTML十秒做出淘宝页面
2021/10/24 HTML / CSS
Java的Object类的九种方法
2022/04/13 Java/Android
js作用域及作用域链工作引擎
2022/07/07 Javascript