這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)Python中怎么連接訪問MongoDB,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
1、從Mongo Shell到應(yīng)用程序訪問接口
Mongo Shell是MongoDB官方提供的數(shù)據(jù)庫訪問接口程序,類似于Oracle的sqlplus和Mysql的mysql程序。應(yīng)該說,Mongo shell對于MongoDB的連接、訪問和功能操作是最好的。所有與MongoDB相關(guān)的管理、開發(fā)和數(shù)據(jù)訪問職能,都可以通過Mongo Shell進行實現(xiàn)。
另一類就是應(yīng)用程序訪問接口,也可以理解為編程語言接口。同其他所有數(shù)據(jù)庫相同,針對每個開發(fā)語言,MongoDB都有專門的訪問驅(qū)動Driver程序(或者稱為Module)進行支持。但是,由于不同語言在語法、語義和程序組織方式上的差異,使用程序訪問接口的時候,和標準Mongo Shell是有一些差別。這就是為什么在MongoDB官方文檔中,對于每個操作都提供多種程序語言版本的原因。
目前,MongoDB提供的語言驅(qū)動,包括Mongo Shell(原生也需要支持包)、Python、Java、Node.js、PHP、C#、Perl、Ruby和Scala。本篇主要介紹Python的訪問方式,記錄下來,留待需要的朋友待查。
2、Python驅(qū)動安裝
Python是目前比較流行的程序設(shè)計語言,特別是在人工智能AI和大數(shù)據(jù)分析處理上,市場空間是比較大的。MongoDB是比較流行的NOSQL數(shù)據(jù)庫解決方案,兩者結(jié)合的場景非常多。
對于Python而言,組織程序是以Module的方式進行。要在本地進行開發(fā),需要本地在Python標準庫基礎(chǔ)上,添加對于MongoDB的支持。目前,比較常用的Mongodb包為pymongo。
如果是Windows環(huán)境下,如果已經(jīng)安裝好Python開發(fā)環(huán)境JDK,只需要調(diào)用esay_install程序就可以自動完成下載。
C:\Users\admin>easy_install pymongo
Searching for pymongo
Reading https://pypi.python.org/simple/pymongo/
Best match: pymongo 3.4.0
Downloading https://pypi.python.org/packages/e7/7c/6c6fa7f0c416e227445979403f14c
4fcfc5960f7c220e8ad0370197fe87a/pymongo-3.4.0-py3.5-win-amd64.egg#md5=0fa1f3d995
42f032fc8940d8d53d7559
Processing pymongo-3.4.0-py3.5-win-amd64.egg
creating c:\program files\python35\lib\site-packages\pymongo-3.4.0-py3.5-win-amd
64.egg
Extracting pymongo-3.4.0-py3.5-win-amd64.egg to c:\program files\python35\lib\si
te-packages
Adding pymongo 3.4.0 to easy-install.pth file
Installed c:\program files\python35\lib\site-packages\pymongo-3.4.0-py3.5-win-am
d64.egg
Processing dependencies for pymongo
Finished processing dependencies for pymongo
在國內(nèi)下載時間可能比較長,而且經(jīng)常會有Timeout的情況出現(xiàn)。多測試幾次,或者直接到Python官網(wǎng)上下載安裝包就能解決。下載之后的pymongo包,被自動放在標準Python庫里面。注意:這個時候即使是使用Eclipse插件進行開發(fā),也會自動的感應(yīng)到最新的庫變化,即時生效。
3、簡單開發(fā)實例
下面進行一個簡單地實例。當前目標數(shù)據(jù)庫test上,包括pyinsert這個集合collection。
> show collections
blog
pyinsert
xl
> db.pyinsert.find().count();
0
下面是插入的python記錄腳本
from pymongo import MongoClient –導(dǎo)入包模塊
from bson.objectid import ObjectId
connect = MongoClient('172.16.19.143',27017)
db = connect.test –對應(yīng)數(shù)據(jù)庫
operList = [{"name":"Ttest", "age":10},{"name":"Mark", "age":12},
{"name":"Lucy", "age":10},{"name":"Tom", "age":32}]
res = db.pyinsert.insert_many(operList) --批量插入
print(res)
注意:每個語言落實MongoDB語法的時候,有一些差別,具體需要參考官方解釋。上面的實例中,介紹了連接語句、組織Document Array和批量插入。插入后,結(jié)果如下:
> db.pyinsert.find();
{ "_id" : ObjectId("5972d32dc3e2cc1d108511b7"), "age" : 10, "name" : "Ttest" }
{ "_id" : ObjectId("5972d32dc3e2cc1d108511b8"), "age" : 12, "name" : "Mark" }
{ "_id" : ObjectId("5972d32dc3e2cc1d108511b9"), "age" : 10, "name" : "Lucy" }
{ "_id" : ObjectId("5972d32dc3e2cc1d108511ba"), "age" : 32, "name" : "Tom" }
檢索數(shù)據(jù)腳本:
from pymongo import MongoClient
from bson.objectid import ObjectId
connect = MongoClient('172.16.19.143',27017)
db = connect.test
for data in db.pyinsert.find():
print(data)
操作結(jié)果:
{'_id': ObjectId('5972d32dc3e2cc1d108511b7'), 'name': 'Ttest', 'age': 10}
{'_id': ObjectId('5972d32dc3e2cc1d108511b8'), 'name': 'Mark', 'age': 12}
{'_id': ObjectId('5972d32dc3e2cc1d108511b9'), 'name': 'Lucy', 'age': 10}
{'_id': ObjectId('5972d32dc3e2cc1d108511ba'), 'name': 'Tom', 'age': 32}
上述就是小編為大家分享的Python中怎么連接訪問MongoDB了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。
文章名稱:Python中怎么連接訪問MongoDB-創(chuàng)新互聯(lián)
路徑分享:http://vcdvsql.cn/article36/djjdsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、App設(shè)計、網(wǎng)站內(nèi)鏈、Google、網(wǎng)站制作、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容