Mongodb python驅動教程

Mongodb python驅動教程

安裝

使用python驅動mongodb須要下載、安裝PyMongo包python

  • 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 linux

經過MongoClient鏈接mongo

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

也能夠手動指定host和port: mongodb

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

獲取數據庫實例

一個mongodb的實例中,能夠有不少獨立數據庫。咱們能夠經過下面的方式獲取一個數據庫的實例: shell

db = client.mydatabase

若是上面的方法不起做用,試一下下面的方法: 數據庫

db = client['mydatabase']

獲取數據集

所謂數據集就是存儲再mongodb中的一堆文檔,這裏能夠簡單的理解成關係數據庫中的表(table),下面的方法獲取一個數據集: json

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

須要注意的是,無論是獲取數據庫、仍是數據集實例,mongodb其實沒有進行任何操做,只有當真正的文檔insert進去的時候,纔會真正建立數據庫和數據集。ide

Documents

Mongodb中的數據是以json風格的文檔存在的。在PyMongo中,咱們使用dictionaries表明documents。下面的一段文檔(dictionary),能夠看做是一篇博文的簡介: post

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

Document能夠包含python語句,如上面的datetime.datetime,執行時,會自動進行轉化。spa

插入Document

使用insert()方法進行插入: code

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:

繼續閱讀→

相關文章
相關標籤/搜索