導(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ù)... _ _ _