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 基础学习教程
Feb 08 Python
linux环境下python中MySQLdb模块的安装方法
Jun 16 Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
Feb 18 Python
异步任务队列Celery在Django中的使用方法
Jun 07 Python
python2.7 安装pip的方法步骤(管用)
May 05 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
May 13 Python
Python流行ORM框架sqlalchemy安装与使用教程
Jun 04 Python
pandas DataFrame创建方法的方式
Aug 02 Python
Python切图九宫格的实现方法
Oct 10 Python
python在linux环境下安装skimage的示例代码
Oct 14 Python
python中Pexpect的工作流程实例讲解
Mar 02 Python
用Python编写简单的gRPC服务的详细过程
Jul 04 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危险函数(disable_functions)
2012/02/23 PHP
php数据库配置文件一般做法分享
2012/07/07 PHP
php获取数组元素中头一个数组元素值的实现方法
2014/12/20 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
2017/05/17 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
PHP判断是否是微信打开,浏览器打开的方法
2018/03/14 PHP
PHP微信支付结果通知与回调策略分析
2019/01/10 PHP
我也种棵OO树JXTree[js+css+xml]
2007/04/02 Javascript
捕获关闭窗口的脚本
2009/01/10 Javascript
容易被忽略的JS脚本特性
2011/09/13 Javascript
nodeType属性返回被选节点的节点类型介绍
2013/11/22 Javascript
推荐6款基于jQuery实现图片效果插件
2014/12/07 Javascript
node.js中的fs.stat方法使用说明
2014/12/16 Javascript
JQuery select(下拉框)操作方法汇总
2015/04/15 Javascript
jquery ajax双击div可直接修改div中的内容
2016/03/04 Javascript
JavaScript中访问id对象 属性的方式访问属性(实例代码)
2016/10/28 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
2017/07/24 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
Angular 向组件传递模板的两种方法
2018/02/23 Javascript
对layer弹出框中icon数字参数的说明介绍
2019/09/04 Javascript
Python基于二分查找实现求整数平方根的方法
2016/05/12 Python
Python类的动态修改的实例方法
2017/03/24 Python
CentOS 6.5下安装Python 3.5.2(与Python2并存)
2017/06/05 Python
对numpy中数组元素的统一赋值实例
2018/04/04 Python
python 元组和列表的区别
2020/12/30 Python
HTML5 离线应用之打造零请求、无流量网站的解决方法
2013/04/25 HTML / CSS
英国虚拟主机服务商:eUKhost
2016/08/16 全球购物
水果连锁超市创业计划书
2014/01/24 职场文书
单位介绍信格式
2015/01/31 职场文书
商超业务员岗位职责
2015/02/13 职场文书
2015大学自主招生自荐信范文
2015/03/04 职场文书
入党积极分子党支部意见
2015/06/02 职场文书
论文评审意见
2015/06/05 职场文书
Python3.10的一些新特性原理分析
2021/09/15 Python