《數(shù)據(jù)采集技術與應用》課件-7.2.2 Python與MongoDB的交互_第1頁
《數(shù)據(jù)采集技術與應用》課件-7.2.2 Python與MongoDB的交互_第2頁
《數(shù)據(jù)采集技術與應用》課件-7.2.2 Python與MongoDB的交互_第3頁
《數(shù)據(jù)采集技術與應用》課件-7.2.2 Python與MongoDB的交互_第4頁
《數(shù)據(jù)采集技術與應用》課件-7.2.2 Python與MongoDB的交互_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)采集技術與應用

Python與MongoDB的交互內容/content安裝pymongo01使用Python操作MongoDB02總結與思考03Python提供了一個第三方模塊pymongo,該模塊中定義了連接和操作MongoDB數(shù)據(jù)庫的功能。使用pymongo模塊之前,我們需要在當前的Python環(huán)境中安裝pymongo模塊。pipinstallpymongo安裝好pymongo模塊以后,我們就可以使用pymongo模塊操作MongoDB數(shù)據(jù)庫。安裝pymongo

創(chuàng)建連接要使用PyMongo操作MongoDB,首先需要初始化數(shù)據(jù)庫連接。顯式地指定主機地址和端口號,代碼如下。#導包從pymongo庫導入MongoClient類frompymongoimportMongoClient#通過MongoClient類創(chuàng)建一個實例對象,該對象為mongodb客戶端client=MongoClient('localhost',27017)localhost:表示本地主機地址。port:表示連接的端口號,默認為27017。使用Python操作MongoDB

創(chuàng)建連接如果MongoDB運行在本地計算機上,而且也沒有修改端口或者添加用戶名及密碼,那么初始化MongoClient的實例的時候就不需要帶參數(shù),直接寫為:client=MongoClient()使用Python操作MongoDB

創(chuàng)建和訪問數(shù)據(jù)庫、集合方式1:訪問數(shù)據(jù)庫的方式比較簡單,可以直接使用“連接對象.數(shù)據(jù)庫名稱”的方式訪問數(shù)據(jù)庫,代碼中的“test”和“stu”都不是變量名,它們直接就是數(shù)據(jù)庫的名字和集合的名字。使用Python操作MongoDB#導包從pymongo庫導入MongoClient類frompymongoimportMongoClient#通過MongoClient類創(chuàng)建一個實例對象,該對象為mongodb客戶端client=MongoClient()#訪問數(shù)據(jù)庫test,如果不存在,則新建database=client.test#訪問集合stu,如果不存在,則新建collection=database.stu#Collection對象

創(chuàng)建和訪問數(shù)據(jù)庫、集合方式2:還可以使用字典的形式進行訪問,在方括號中指定庫名和集合名。使用以上兩種方式訪問數(shù)據(jù)庫和集合時,若指定的數(shù)據(jù)庫和集合已經(jīng)存在,則會直接訪問該數(shù)據(jù)庫、集合,否則會重新創(chuàng)建一個數(shù)據(jù)庫、集合。使用Python操作MongoDB#導包從pymongo庫導入MongoClient類frompymongoimportMongoClient#通過MongoClient類創(chuàng)建一個實例對象,該對象為mongodb客戶端client=MongoClient()#訪問數(shù)據(jù)庫test,如果不存在,則新建database=client['test']#訪問集合stu,如果不存在,則新建collection=database['stu']#Collection對象

插入文檔pymongo中提供了兩個向集合中插入文檔的方法,分別是insert_one()和insert_many()。insert_one()用于一次向集合中插入一條文檔,代碼如下。data={'name':'Tom','age':20,'salary':5000}collection.insert_one(data)insert_many()用于一次向集合中插入多條文檔,代碼如下。more_data=[{'name':'張三','age':10,'salary':0},{'name':'李四','age':30,'salary':1000},{'name':'王五','age':20,'salary':1000},{'name':'外國人','age':50,'salary':'未知'}]collection.insert_many(more_data)

使用Python操作MongoDB

插入文檔打開MongoDB服務端mongod.exe和客戶端mongo.exe,然后在PyCharm中運行上述代碼,在客戶端mongo.exe中,通過命令可以看到插入的文檔數(shù)據(jù)。

使用Python操作MongoDB

查詢文檔pymongo中提供了兩個查詢文檔的方法,分別是find_one()和find()方法。find_one(參數(shù)):用于查詢集合中的一條文檔,若找到匹配的文檔,返回單個文檔。find(參數(shù)):用于查詢集合中的所有匹配的文檔。兩個參數(shù)的類型均為python字典,參數(shù)可以省略。#find_one()查找集合中的第一條數(shù)據(jù)ret=collection.find_one()print(ret)#find_one(參數(shù))查找集合中符合條件的第一條數(shù)據(jù)ret=collection.find_one({'age':50})print(ret)

使用Python操作MongoDB

查詢文檔在PyCharm中運行上述代碼,在控制臺可以看到查詢的文檔結果。

使用Python操作MongoDB

更新文檔pymongo中提供了兩個更新文檔的方法:update_one()方法用于更新集合中的一條文檔;update_many()方法用于更新集合中的多條文檔。collection.update_one({'name':'張三'},{'$set':{'age':25}})使用update_one()方法更新集合中的一條文檔,代碼如下。

使用Python操作MongoDB

更新文檔在客戶端mongo.exe中,通過命令可以看到更新前后的文檔數(shù)據(jù),name為張三的記錄中,年齡age發(fā)生了變化。

使用Python操作MongoDB

刪除文檔pymongo中提供了兩個刪除文檔的方法:delete_one():用于從集合中刪除一條文檔;delete_many():用于從集合中刪除多條文檔。collection.delete_one({"name":"張三"})#刪除集合中的指定文檔示例代碼如下:

使用Python操作MongoDB

刪除文檔在客戶端mongo.exe中,通過命令可以看到刪除前后的文檔數(shù)據(jù),刪除后的記錄中,沒有了name為張三的記

溫馨提示

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

評論

0/150

提交評論