標籤:linu col nbsp 沒有 drive 3.2 yum block more
導語
pymongo 是目前用的相對普遍一個python用來串連MongoDB的庫,是工作中各種基本需求都能滿足
具體api可以參考
pymongo API
pymongo github
安裝 MongoDB
為了測試pyMongo串連mongodb,首先當然需要在centos下安裝mongo,詳細參考Centos下安裝MongoDB
安裝 pymongo
如果沒有pip, 建議先安裝,至於為啥要用pip你懂得
yum install python-pip
pip 安裝 pymongo
pip install pymongo
查看 pymongo是否安裝成功
[email protected]/4 $ pythonPython 2.7.5 (default, Nov 20 2015, 02:00:19) [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2Type "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 clientMongoClient(host=[‘192.168.100.3:27017‘], document_class=dict, tz_aware=False, connect=True)>>> client2 = pymongo.MongoClient(‘mongodb://192.168.100.3:27017/‘)>>> print client2MongoClient(host=[‘192.168.100.3:27017‘], document_class=dict, tz_aware=False, connect=True)>>>
得到 db 和 collection
有時候在指令碼中會把 db 和 collection 作為參數使用,可以參考第二種方式
直接連結
>>> db = client.report>>> print dbDatabase(MongoClient(host=[‘192.168.100.3:27017‘], document_class=dict, tz_aware=False, connect=True), u‘report‘)>>> collection = db.source_register>>> print collectionCollection(Database(MongoClient(host=[‘192.168.100.3:27017‘], document_class=dict, tz_aware=False, connect=True), u‘report‘), u‘source_register‘)>>>
參數連結, 這種形式又有兩種方法
## 定義參數>>> pramadb = ‘report‘>>> pramacoll = ‘source_register‘## get db >>> db2 = client[pramadb]>>> db3 = client.get_database(pramadb)>>> print db2Database(MongoClient(host=[‘192.168.100.3:27017‘], document_class=dict, tz_aware=False, connect=True), u‘report‘)>>> print db3Database(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 coll2Collection(Database(MongoClient(host=[‘192.168.100.3:27017‘], document_class=dict, tz_aware=False, connect=True), u‘report‘), u‘source_register‘)>>> print coll3Collection(Database(MongoClient(host=[‘192.168.100.3:27017‘], document_class=dict, tz_aware=False, connect=True), u‘report‘), u‘source_register‘)>>>
常規操作舉例
## 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‘}>>>
pymongo串連MongoDB