NoSQL數(shù)據(jù)庫應(yīng)用與實踐 課件 第11、12章 客戶端軟件;PythonToMongoDB_第1頁
NoSQL數(shù)據(jù)庫應(yīng)用與實踐 課件 第11、12章 客戶端軟件;PythonToMongoDB_第2頁
NoSQL數(shù)據(jù)庫應(yīng)用與實踐 課件 第11、12章 客戶端軟件;PythonToMongoDB_第3頁
NoSQL數(shù)據(jù)庫應(yīng)用與實踐 課件 第11、12章 客戶端軟件;PythonToMongoDB_第4頁
NoSQL數(shù)據(jù)庫應(yīng)用與實踐 課件 第11、12章 客戶端軟件;PythonToMongoDB_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第十一章客戶端軟件單擊此處添加副標(biāo)題演講者:MongoDBCompass01NosqlManagerforMongoDB02Studio3TforMongoDB03項目實踐04目錄01MongoDBCompass下載下載地址安裝并鏈接數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫添加數(shù)據(jù)修改,刪除數(shù)據(jù)查詢數(shù)據(jù)查詢數(shù)據(jù)聚合查詢查詢執(zhí)行計劃監(jiān)控02Studio3TforMongoDB0102Studio3T的前身為MongoChef,是Robo3T強大的專業(yè)版本,為3TSoftwareLabs旗下產(chǎn)品。隨著不斷更新發(fā)展Studio3T免費版擴展并取代了Robo3T。下載:下載安裝鏈接數(shù)據(jù)庫增刪改查03NosqlManagerforMongoDBNoSQLManagerforMongoDB是一款管理和維護MongoDB數(shù)據(jù)庫的GUI客戶端工具。工具允許用戶通過圖形用戶界面進行MongoDB數(shù)據(jù)庫管理,包括創(chuàng)建和刪除數(shù)據(jù)庫、集合、文檔等操作。簡潔的用戶界面,易于使用。支持JSON、BSON和CSV等多種數(shù)據(jù)格式。該工具具有以下特點:支持多個MongoDB連接和多個MongoDB版本。支持?jǐn)?shù)據(jù)自動補全及數(shù)據(jù)結(jié)果過濾和排序。特點下載安裝下載下載時注意對應(yīng)MongoDB的版本選擇界面連接數(shù)據(jù)庫增刪改查小結(jié):本章介紹了多個可視化軟件,使用時根據(jù)自己的使用習(xí)慣以及具體項目要求,選取適當(dāng)?shù)墓ぞ摺O驍?shù)據(jù)庫的colleges集合中插入一個文檔(Golang)創(chuàng)建并進入it_like數(shù)據(jù)庫查詢colleges集合中的文檔向數(shù)據(jù)庫的colleges集合中插入六個文檔(Html5,Java,Python,區(qū)塊鏈,K12,<PHP,"世界上最好的編程語言">)統(tǒng)計數(shù)據(jù)庫colleges集合中的文檔數(shù)量練一練:謝謝!第12章

Python與MongoDB單擊此處添加副標(biāo)題演講者:鏈接數(shù)據(jù)庫,關(guān)閉數(shù)據(jù)庫01增、刪、改、查操作02Python中GridFS04項目實踐05索引與聚合操作03目錄01鏈接數(shù)據(jù)庫,關(guān)閉數(shù)據(jù)庫無驗證登錄Python要操作MongoDB數(shù)據(jù)庫,可以查看數(shù)據(jù)庫是否有權(quán)限驗證。在Python中鏈接數(shù)據(jù)庫時需要導(dǎo)入外部庫pymongo。先打開Python,然后在Python環(huán)境中執(zhí)行如下安裝pymongo命令:pipinstallpymongo在使用時導(dǎo)入pymongoimportpymongomon_client=pymongo.MongoClient("Mongodb://localhost:27017")或者mon_client=pymongo.MongoClient('localhost',27017)importpymongo01myclient=pymongo.MongoClient('localhost',27017)02db=mon_client.admin03db.authenticate('admin','admin888')04有驗證登錄02增、刪、改、查操作增加數(shù)據(jù)向集合中增加一條數(shù)據(jù)時,先需要把要插入的數(shù)據(jù)準(zhǔn)備好,然后將數(shù)據(jù)整理成key:value鍵值對的形勢,使用insert_one()語句可以增加一條數(shù)據(jù)。stu1={'id':'001','name':'張三','age':10}result=mon_col.insert_one(stu1)增加多條數(shù)據(jù)插入多條數(shù)據(jù)時,使用insert_many()可以同時增加多條數(shù)據(jù),函數(shù)參數(shù)為數(shù)據(jù)列表。stu2={'id':'002','name':'李四','age':15}stu3={'id':'003','name':'王五','age':20}result=mon_col.insert_many([stu2,stu3])01刪除一條數(shù)據(jù)02刪除一條數(shù)據(jù)可以使用delete_one()語句。如果有符合條件的多個數(shù)據(jù),只刪除符合條件的第一個數(shù)據(jù)。03result=mon_col.delete_one({"name":"張三"})04刪除多條數(shù)據(jù)05刪除多條數(shù)據(jù)可以使用delete_many()語句,刪除時參數(shù)可以是包含條件運算符的條件表達(dá)式,也可以是固定的值。刪除數(shù)據(jù)result=mon_col.update_one(condition,{'$set':res})04res['age']=1805可以使用update方法修改數(shù)據(jù),但在pymongo中,官方推薦使用update_one完成單個數(shù)據(jù)的修改,update_many完成多條數(shù)據(jù)的修改。其中update_one,第2個參數(shù)需要使用$類型操作符作為字典的鍵名,upsert=True時,要修改的數(shù)據(jù)沒有時,就增加此數(shù)據(jù)。01res=mon_col.find_one(condition)03condition={'name':'王五'}02修改數(shù)據(jù)查找全部數(shù)據(jù)-find()01查找一條數(shù)據(jù)-find_one()02查詢數(shù)據(jù)limit功能:獲取前n條數(shù)據(jù)01skip功能:跳過前n條數(shù)據(jù)02count_documents功能:統(tǒng)計文檔的數(shù)量。03sort功能:將數(shù)據(jù)排序,參數(shù)中1為正序,-1為倒序04next功能:讀取下一條數(shù)據(jù)。05find_one_and_delete功能:查找并刪除符合條件的數(shù)據(jù)。06其他常用函數(shù)03索引與聚合操作在MongoDB中,索引用于提高查詢性能,允許數(shù)據(jù)庫系統(tǒng)更快地定位到包含特定值的文檔。使用Python和pymongo庫,可以很容易地為MongoDB集合創(chuàng)建索引。索引的創(chuàng)建和在mongoshell中一致,都會有默認(rèn)_id。myset.create_index('name')

#給name創(chuàng)建索引12創(chuàng)建索引刪除索引的方法有兩個,drop_index()刪除指定索引,drop_indexes()刪除所有索引。1myset.drop_index('name_1')2myset.drop_indexes()

3刪除索引聚合聚合操作允許對一組文檔執(zhí)行計算,并返回計算后的結(jié)果。使用Python和pymongo庫,可以執(zhí)行各種聚合操作,如分組、計數(shù)、求和、平均值等。例:聚合查詢“King”值相同的個數(shù),并且和的個數(shù)大于1的。l=['$group':{'_id':'$King','num':{'$sum':1}}},'$match':{'num':{'$gt':1}}}cursor=myset.aggregate(l)foriincursor:rint(i)04Python中GridFSPython中GridFS導(dǎo)入gridfs才能上傳或者讀取文件上傳:importgridfsconn=pymongo.MongoClient('',27017)

#鏈接數(shù)據(jù)庫db=conn['img']

#選擇數(shù)據(jù)庫imgfs=gridfs.GridFS(db,'images')imagedata=open(r'logo.jpg','rb')

#rb格式打開圖片gf_id=fs.put(imagedata,filename='test1.jpg',format='img')

#上傳Python中GridFS讀?。篻f=fs.get(gf_id)im=gf.read()doc={}doc['chunk_size']=gf.chunk_sizedoc['metadata']=gf.metadatadoc['length']=gf.lengthdoc['upload_date']=gf.upload_datedoc['name']=doc['content_type']=gf.content_typeprint(doc)05項目實踐:增、刪、改、查綜合練習(xí)鏈接數(shù)據(jù)向集合中插入單條文檔{'name':'Alice','age':30}向集合中批量插入多條文檔{'name':'Bob','age':45},{'name':'Charlie','age':28}更新集合中符合指定條件的第一條文檔查詢集合中符合指定條件的全部文檔移除集合中的所有文檔要求鏈接數(shù)據(jù)庫MongoClient01增加數(shù)據(jù)insert_one、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論