pymongo連接MongoDB系列一

導(dǎo)語(yǔ)

pymongo 是目前用的相對(duì)普遍一個(gè)python用來(lái)連接MongoDB的庫(kù),是工作中各種基本需求都能滿足
具體api可以參考 pymongo API
pymongo github


[個(gè)人博客地址] - [pymongo連接MongoDB系列一]


安裝 MongoDB

為了測(cè)試pyMongo連接mongodb,首先當(dāng)然需要在centos下安裝mongo,詳細(xì)參考 Centos下安裝MongoDB

安裝 pymongo

如果沒(méi)有pip, 建議先安裝,至于為啥要用pip你懂得

yum install python-pip

pip 安裝 pymongo

pip install pymongo

查看 pymongo是否安裝成功

root@pts/4 $ python
Python 2.7.5 (default, Nov 20 2015, 02:00:19) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pymongo        
>>> pymongo.version
'3.2.2'

使用 pymongo

連接到 MongoDB

有兩種方式,等同

>>> client = pymongo.MongoClient('192.168.100.3', 27017)
>>> print client
MongoClient(host=['192.168.100.3:27017'], document_class=dict, tz_aware=False, connect=True)
>>> client2 = pymongo.MongoClient('mongodb://192.168.100.3:27017/')
>>> print client2
MongoClient(host=['192.168.100.3:27017'], document_class=dict, tz_aware=False, connect=True)
>>> 

得到 db 和 collection

有時(shí)候在腳本中會(huì)把 db 和 collection 作為參數(shù)使用,可以參考第二種方式

直接鏈接
>>> db = client.report
>>> print db
Database(MongoClient(host=['192.168.100.3:27017'], document_class=dict, tz_aware=False, connect=True), u'report')
>>> collection = db.source_register
>>> print collection
Collection(Database(MongoClient(host=['192.168.100.3:27017'], document_class=dict, tz_aware=False, connect=True), u'report'), u'source_register')
>>>

參數(shù)鏈接, 這種形式又有兩種方法

## 定義參數(shù)
>>> pramadb = 'report'
>>> pramacoll = 'source_register'

## get db 
>>> db2 = client[pramadb]
>>> db3 = client.get_database(pramadb)
>>> print db2
Database(MongoClient(host=['192.168.100.3:27017'], document_class=dict, tz_aware=False, connect=True), u'report')
>>> print db3
Database(MongoClient(host=['192.168.100.3:27017'], document_class=dict, tz_aware=False, connect=True), u'report')
>>> 

## get collection 
>>> coll2 = db2[pramacoll]
>>> coll3 = db3.get_collection(pramacoll)
>>> print coll2
Collection(Database(MongoClient(host=['192.168.100.3:27017'], document_class=dict, tz_aware=False, connect=True), u'report'), u'source_register')
>>> print coll3
Collection(Database(MongoClient(host=['192.168.100.3:27017'], document_class=dict, tz_aware=False, connect=True), u'report'), u'source_register')
>>> 

常規(guī)操作舉例

## insert or save 
>>> mydict = {"name":"James", "age": 28}
>>> collection.save(mydict)
ObjectId('57fdf212bcd34f48c4fce15a')


## find
>>> collection.find({"name":"James"})[0]
{u'age': 28, u'_id': ObjectId('57fdf212bcd34f48c4fce15a'), u'name': u'James'}
>>> 

_ _ _ 未完待續(xù)... _ _ _

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容