NoSQL數據庫應用與實踐 課件 第十二章 PythonToMongoDB_第1頁
NoSQL數據庫應用與實踐 課件 第十二章 PythonToMongoDB_第2頁
NoSQL數據庫應用與實踐 課件 第十二章 PythonToMongoDB_第3頁
NoSQL數據庫應用與實踐 課件 第十二章 PythonToMongoDB_第4頁
NoSQL數據庫應用與實踐 課件 第十二章 PythonToMongoDB_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第12章

Python與MongoDB單擊此處添加副標題演講者:鏈接數據庫,關閉數據庫01增、刪、改、查操作02Python中GridFS04項目實踐05索引與聚合操作03目錄01鏈接數據庫,關閉數據庫無驗證登錄Python要操作MongoDB數據庫,可以查看數據庫是否有權限驗證。在Python中鏈接數據庫時需要導入外部庫pymongo。先打開Python,然后在Python環(huán)境中執(zhí)行如下安裝pymongo命令:pipinstallpymongo在使用時導入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增、刪、改、查操作增加數據向集合中增加一條數據時,先需要把要插入的數據準備好,然后將數據整理成key:value鍵值對的形勢,使用insert_one()語句可以增加一條數據。stu1={'id':'001','name':'張三','age':10}result=mon_col.insert_one(stu1)增加多條數據插入多條數據時,使用insert_many()可以同時增加多條數據,函數參數為數據列表。stu2={'id':'002','name':'李四','age':15}stu3={'id':'003','name':'王五','age':20}result=mon_col.insert_many([stu2,stu3])01刪除一條數據02刪除一條數據可以使用delete_one()語句。如果有符合條件的多個數據,只刪除符合條件的第一個數據。03result=mon_col.delete_one({"name":"張三"})04刪除多條數據05刪除多條數據可以使用delete_many()語句,刪除時參數可以是包含條件運算符的條件表達式,也可以是固定的值。刪除數據result=mon_col.update_one(condition,{'$set':res})04res['age']=1805可以使用update方法修改數據,但在pymongo中,官方推薦使用update_one完成單個數據的修改,update_many完成多條數據的修改。其中update_one,第2個參數需要使用$類型操作符作為字典的鍵名,upsert=True時,要修改的數據沒有時,就增加此數據。01res=mon_col.find_one(condition)03condition={'name':'王五'}02修改數據查找全部數據-find()01查找一條數據-find_one()02查詢數據limit功能:獲取前n條數據01skip功能:跳過前n條數據02count_documents功能:統(tǒng)計文檔的數量。03sort功能:將數據排序,參數中1為正序,-1為倒序04next功能:讀取下一條數據。05find_one_and_delete功能:查找并刪除符合條件的數據。06其他常用函數03索引與聚合操作在MongoDB中,索引用于提高查詢性能,允許數據庫系統(tǒng)更快地定位到包含特定值的文檔。使用Python和pymongo庫,可以很容易地為MongoDB集合創(chuàng)建索引。索引的創(chuàng)建和在mongoshell中一致,都會有默認_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í)行計算,并返回計算后的結果。使用Python和pymongo庫,可以執(zhí)行各種聚合操作,如分組、計數、求和、平均值等。例:聚合查詢“King”值相同的個數,并且和的個數大于1的。l=['$group':{'_id':'$King','num':{'$sum':1}}},'$match':{'num':{'$gt':1}}}cursor=myset.aggregate(l)foriincursor:rint(i)04Python中GridFSPython中GridFS導入gridfs才能上傳或者讀取文件上傳:importgridfsconn=pymongo.MongoClient('',27017)

#鏈接數據庫db=conn['img']

#選擇數據庫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項目實踐:增、刪、改、查綜合練習鏈接數據向集合中插入單條文檔{'name':'Alice','age':30}向集合中批量插入多條文檔{'name':'Bob','age':45},{'name':'Charlie','age':28}更新集合中符合指定條件的第一條文檔查詢集合中符合指定條件的全部文檔移除集合中的所有文檔要求鏈接數據庫MongoClient01增加數據insert_one、insert_many02刪除數據delete_one、delete_man

溫馨提示

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

評論

0/150

提交評論