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 实现归并排序算法
Jun 05 Python
Python使用迭代器捕获Generator返回值的方法
Apr 05 Python
python针对不定分隔符切割提取字符串的方法
Oct 26 Python
梅尔频率倒谱系数(mfcc)及Python实现
Jun 18 Python
Python 实例方法、类方法、静态方法的区别与作用
Aug 14 Python
python根据文本生成词云图代码实例
Nov 15 Python
python 实现二维列表转置
Dec 02 Python
Pytorch Tensor的统计属性实例讲解
Dec 30 Python
Python使用py2neo操作图数据库neo4j的方法详解
Jan 13 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
Feb 26 Python
python3.6中anaconda安装sklearn踩坑实录
Jul 28 Python
MATLAB 如何求取离散点的曲率最大值
Apr 16 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通过会话控制实现身份验证实例
2016/10/18 PHP
使用PHPMailer发送邮件实例
2017/02/15 PHP
php+lottery.js实现九宫格抽奖功能
2019/07/21 PHP
js的写法基础分析
2011/01/17 Javascript
Extjs4实现两个GridPanel之间数据拖拽功能具体方法
2013/11/21 Javascript
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
jQuery中的ajax async同步和异步详解
2015/09/29 Javascript
原生js实现addClass,removeClass,hasClass方法
2016/04/27 Javascript
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
JS代码实现电脑配置检测功能
2018/03/21 Javascript
详解js删除数组中的指定元素
2018/10/31 Javascript
JS实现音乐钢琴特效
2020/01/06 Javascript
[36:33]完美世界DOTA2联赛循环赛 Matador vs Forest 第一场 11.06
2020/11/06 DOTA
python微信跳一跳系列之自动计算跳一跳距离
2018/02/26 Python
python爬虫超时的处理的实例
2018/12/19 Python
python输出带颜色字体实例方法
2019/09/01 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
2020/02/28 Python
Python Selenium 设置元素等待的三种方式
2020/03/18 Python
Python sorted排序方法如何实现
2020/03/31 Python
Python requests.post方法中data与json参数区别详解
2020/04/30 Python
Django 解决由save方法引发的错误
2020/05/21 Python
西班牙汉普顿小姐:购买帆布鞋和太阳镜
2016/10/23 全球购物
欧洲顶级体育电子商务网站:SportsShoes.com
2018/03/27 全球购物
JDBC操作数据库的基本流程是什么
2014/10/28 面试题
大学自主招生自荐信范文
2014/02/26 职场文书
机械工程及其自动化专业求职信
2014/08/08 职场文书
合作协议书范文
2014/08/20 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
2014年人力资源工作总结
2014/11/19 职场文书
赢在中国观后感
2015/06/02 职场文书
爱国主义影片观后感
2015/06/18 职场文书
《我要的是葫芦》教学反思
2016/02/18 职场文书
Java Socket实现多人聊天系统
2021/07/15 Java/Android
图文详解nginx日志切割的实现
2022/01/18 Servers
vue中div禁止点击事件的实现
2022/04/02 Vue.js