版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《吉林省大眾冰雪運動發(fā)展策略研究》
- 《科創(chuàng)板IPO審計風險控制問題研究》
- 《納米油酸誘導肝細胞脂肪變性和凋亡機制研究》
- 《結構功能一體化碳纖維樹脂基復合材料RTM制備及性能研究》
- 歷史(上海卷01)(參考答案)
- 2024年??诳瓦\從業(yè)資格證考試題庫下載
- 2024年貴陽客運資格證考多少道題
- 2024年錫林郭勒盟客運從業(yè)資格證考試題答案
- 2024年邵陽道路運輸從業(yè)資格證考試
- 第11講因數(shù)倍數(shù)(學生版)
- ACS患者隨訪管理表1-3-16
- 經(jīng)典誦讀《滿江紅》課件
- 工業(yè)X射線探傷室設計簡述
- 微景觀制作課件
- 業(yè)務招待費審批單
- 建筑工程項目管理咨詢招標(范本)
- 三位數(shù)除兩位數(shù)的除法練習題
- 慢性胃炎的中醫(yī)治療培訓課件
- Python程序設計課件第7章面向對象程序設計
- 主題班會課防盜
- 幼兒園課件《撓撓小怪物》
評論
0/150
提交評論