2019独角兽企业重金招聘Python工程师标准>>>

Mongodb python驱动教程

安装

使用python驱动mongodb需要下载、安装PyMongo包

  • Windows用户,点击这里下载。
  • 使用pip安装
    在linux平台使用pip命令安装:
    pip install pymongo
    指定版本:
    pip install pymongo==2.6.3 升级:
    `pip install --upgrade pymongo
  • 使用easy_install安装
    easy_install pymongo 升级:
    easy_install -U pymongo

使用

安装完毕后,就可以在python shell或者python ide中进行试验,如果安装pymongo成功,那么下面的命令应该可以在python shell中运行:
>>> import pymongo

通过MongoClient连接mongo

    #连接locahost上的mongodb,端口是默认端口,27017    from pymongo import MongoClient    client = MongoClient

也可以手动指定host和port:

    client = MongoClient("localhost", 27017)    #或者    client = MongoClient("mongodb://localhost:27017/")

获取数据库实例

一个mongodb的实例中,可以有很多独立数据库。我们可以通过下面的方式获取一个数据库的实例:

    db = client.mydatabase

如果上面的方法不起作用,试一下下面的方法:

    db = client['mydatabase']

获取数据集

所谓数据集就是存储再mongodb中的一堆文档,这里可以简单的理解成关系数据库中的表(table),下面的方法获取一个数据集:

    collection = db.mycollection    #或者    collection = db[mycollection]

需要注意的是,不管是获取数据库、还是数据集实例,mongodb其实没有进行任何操作,只有当真正的文档insert进去的时候,才会真正创建数据库和数据集。

Documents

Mongodb中的数据是以json风格的文档存在的。在PyMongo中,我们使用dictionaries代表documents。下面的一段文档(dictionary),可以看作是一篇博文的简介:

        import datatime    post = {    "auther" : "Mike",    "text" : "My First blog post",    "tags" : ["mongodb", "python", "pymongo"],    "date" : datetime.datetime.utcnow()    }

Document可以包含python语句,如上面的datetime.datetime,执行时,会自动进行转化。

插入Document

使用insert()方法进行插入:

    posts = db.posts    post_id = posts.insert(post)    print post_id

当一篇Document被插入到mongodb中,如果document中没有指定"_id",mongodb会自动为该document添加唯一的"_id"。这个"_id"在该数据集中是惟一的。insert()方法返回值就是这个id,更多关于id的信息,点击documentation on _id。

插入完成后,我们可以通过下面的语句列出数据库中的数据集:

    db.collection_names()

结果如下: [u'system.indexs', u'posts'] system.indexs 这个数据集是mongodb自己创建的内部数据集。

使用find_one()方法获取指定的Document

monbodb中find_one()方法,是最基本的查找方法。该方法返回符合条件的一篇document(如果没有符合条件的,返回None)。当数据集中只有一篇符合条件的文档,或者我们只想看第一篇文档的时候,find_one()就有很有用了。

    posts.find_one()

返回结果:

    {u'date': datetime.datetime(...), u'text': u'My first blog post!', u'_id': ObjectId('...'), u'author': u'Mike', u'tags': [u'mongodb', u'python', u'pymongo']}

通过ObjectId检索

我们也可以通过_id来进行检索,在这里_id是ObjectId:

继续阅读→

转载于:https://my.oschina.net/u/147181/blog/228958

Mongodb python驱动教程相关推荐

  1. Python操作MongoDB - 极简教程

    2019独角兽企业重金招聘Python工程师标准>>> Python 连接 MongoDB 安装PyMongo模块 pip install pymongo 使用MongoClient ...

  2. 使用VS2010编译MongoDB C++驱动详解

    最近为了解决IM消息记录的高速度写入.多文档类型支持的需求,决定使用MongoDB来解决. 考虑到MongoDB对VS版本要求较高,与我现有的VS版本不兼容,在leveldb.ssdb.redis.h ...

  3. Python高级教程:玩转Linux操作系统

    Python高级教程:玩转Linux操作系统 操作系统发展史 只有硬件没有软件的计算机系统被称之为"裸机",我们很难用"裸机"来完成计算机日常的工作(如存储和运 ...

  4. MongoDB极简教程

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:我没有三颗心脏 1.MongDB 简介 MongoDB(来自 ...

  5. 微软400集python课程-最强福利——来自微软的Python学习教程(开发指南)

    各位小伙伴们,大家有多久没有发现柳猫这么勤奋的更新啦~ 今天给小伙伴们带来微软的官方福利,你没看错,就是来自微软的官方Python学习教程(开发指南)~ 之前微软上线过一套 Python 教程< ...

  6. python基础教程视频(全13集)-Python基础视频教程全集

    原标题:Python基础视频教程全集 Python编程语言的定位是"优雅"."明确"."简单",所以对于Python初学者来说,学起来没有那 ...

  7. python PyQt5教程

    引用文章1:python PyQt5 教程 参考文章2:PyQt5 python官方教程 Qt for Python pyqt5-基础 PyQt5是一套来自Digia的Qt5应用框架和Python的粘 ...

  8. 微软 python教程_最强福利——来自微软的Python学习教程(开发指南)

    各位小伙伴们,大家有多久没有发现柳猫这么勤奋的更新啦~ 今天给小伙伴们带来微软的官方福利,你没看错,就是来自微软的官方Python学习教程(开发指南)~ 之前微软上线过一套 Python 教程< ...

  9. JavaTPoint Python 中文教程【翻译完成】

    原文:JavaTPoint 协议:CC BY-NC-SA 4.0 阶段:机翻(1) 危机只有发展到最困难的阶段,才有可能倒逼出有效的解决方案.--<两次全球大危机的比较研究> 在线阅读 在 ...

最新文章

  1. gui design studio3 中文帮助(4)-用户界面 (中)-工具面板
  2. 【学习笔记】JS进阶语法一DOM进阶
  3. Java黑皮书课后题第1章:1.12(以千米计的平均速度)假设一个跑步者1小时40分35秒跑了24英里。编写一个程序显示以每小时为多少千米为单位的平均速度值(1英里等于1.6千米)
  4. css 的小细节,小总结
  5. python转盘抽奖概率_转盘指定概率抽奖
  6. Java EE 8安全性API:概述
  7. C++工作笔记-使用namespace构建常量头文件
  8. Golang map 三板斧第一式:快速上手
  9. Wise UNpacker 0.91A [with Delphi Source]
  10. Atitit. 悬浮窗口的实现 java swing c# .net c++ js html 的实现
  11. 深度学习之 RBF神经网络
  12. oracle数据库基础笔试题,Oracle数据库入门笔试试题及参考答案
  13. Python爬虫 抓取拉勾招聘信息
  14. 安卓游戏广告加速插件_Pokemon Go游戏加速器 安卓/IOS客户端 使用方法
  15. 书法在计算机中的应用,书法在计算机中的编排-西安交通大学.pdf
  16. JavaScript数组属性和方法
  17. 常用的RAID模式及特点
  18. 图片 滚动 放大缩小 旋转
  19. 留言赠书|因果推断与机器学习,终于有本书能讲明白啦!
  20. 虚幻引擎图文笔记:调整网格的光照贴图分辨率(Light Map Res)改善光照烘焙质量

热门文章

  1. windows命令行帮助文档如何使用
  2. StarUML 4.0
  3. LeetCode 454 4Sum II(哈希法)
  4. 题目1154:Jungle Roads
  5. AMPAS/ASC Common File Format LUT
  6. linux03:系统常用的命令
  7. Centos 7 技巧
  8. number to string - LeetCode【数字 = 字符串】
  9. [TYVJ] P1016 装箱问题
  10. C++程序设计-第九周分支结构程序设计上机实践项目