pymongo串連MongoDB

來源:互聯網
上載者:User

標籤: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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.