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 搭建Web站点之Web服务器与Web框架
Nov 06 Python
python 文件转成16进制数组的实例
Jul 09 Python
详解Python3.6的py文件打包生成exe
Jul 13 Python
python实现ID3决策树算法
Aug 29 Python
使用pip发布Python程序的方法步骤
Oct 11 Python
selenium+python环境配置教程详解
May 28 Python
django页面跳转问题及注意事项
Jul 18 Python
浅谈Python_Openpyxl使用(最全总结)
Sep 05 Python
python实现加密的方式总结
Jan 19 Python
如何实现更换Jupyter Notebook内核Python版本
May 18 Python
Python爬虫防封ip的一些技巧
Aug 06 Python
matplotlib 范围选区(SpanSelector)的使用
Feb 24 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中for循环语句的几种变型
2007/03/16 PHP
php常用Stream函数集介绍
2013/06/24 PHP
php生成圆角图片的方法
2015/04/07 PHP
Yii2实现上下联动下拉框功能的方法
2016/08/10 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
MAC下通过改apache配置文件切换php多版本的方法
2017/04/26 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
DWR Ext 加载数据
2009/03/22 Javascript
JavaScript中window.showModalDialog()用法详解
2014/12/18 Javascript
JS实现让访问者自助选择网页文字颜色的方法
2015/02/24 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
2015/06/05 Javascript
jQuery网页版打砖块小游戏源码分享
2015/08/20 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
2016/11/23 Javascript
AngularJS Select(选择框)使用详解
2017/01/18 Javascript
微信小程序实现带刻度尺滑块功能
2017/03/29 Javascript
几种响应式文字详解
2017/05/19 Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
2017/07/21 Javascript
axios发送post请求,提交图片类型表单数据方法
2018/03/16 Javascript
详解如何用babel转换es6的class语法
2018/04/03 Javascript
基于Vue实现微信小程序的图文编辑器
2018/07/25 Javascript
jquery 通过ajax请求获取后台数据显示在表格上的方法
2018/08/08 jQuery
webpack+vue-cil 中proxyTable配置接口地址代理操作
2020/07/18 Javascript
Python 提取dict转换为xml/json/table并输出的实现代码
2016/08/28 Python
Python WSGI的深入理解
2018/08/01 Python
Python对接 xray 和微信实现自动告警
2019/09/17 Python
python 日志模块 日志等级设置失效的解决方案
2020/05/26 Python
python如何随机生成高强度密码
2020/08/19 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
证婚人搞笑证婚词
2014/01/10 职场文书
吃空饷专项治理工作实施方案
2014/03/04 职场文书
最新结婚典礼主持词
2014/03/14 职场文书
2016春节慰问信范文
2015/03/25 职场文书
2015年电工工作总结
2015/04/10 职场文书
2015年教研组工作总结
2015/05/04 职场文书
Mysql数据库值的添加、修改、删除及清空操作实例
2021/06/20 MySQL
纯html+css实现打字效果
2021/08/02 HTML / CSS