python使用pymongo與MongoDB基本交互操作示例
本文實(shí)例講述了python使用pymongo與MongoDB基本交互操作。分享給大家供大家參考,具體如下:
本文內(nèi)容:
- pymongo的使用:
- 安裝模塊
- 導(dǎo)入模塊
- 連接mongod
- 獲取\切換數(shù)據(jù)庫(kù)
- 選擇集合
- CRUD操作
首發(fā)時(shí)間:2018-03-18 20:11
pymongo的使用:
- 安裝模塊:
pip3 pymongo
- 導(dǎo)入模塊:
import pymongo
- 連接mongod:
conn=pymongo.MongoClient(host="localhost",port=27017)
- 獲取\切換數(shù)據(jù)庫(kù):
# db=conn.School #獲取School數(shù)據(jù)庫(kù) db=conn['School'] #獲取School數(shù)據(jù)庫(kù)
- 選擇集合:
# collection=db.teacher#選擇teacher集合 collection=db['teacher']#選擇teacher集合
- CRUD操作:【pymongo的方法與mongo的命令基本一致,名字類(lèi)似的功能也類(lèi)似,參數(shù)可以參考mongo的命令,以及源碼說(shuō)明】
- 查看文檔:
- find():返回值是一個(gè)Cursor類(lèi)型的,需要迭代這個(gè)返回值才能獲取結(jié)果
- find_one():返回值是查找結(jié)果
import pymongo conn=pymongo.MongoClient(host="localhost",port=27017) db=conn['School'] collection=db['teacher'] rel=collection.find() print([r for r in rel]) rel=collection.find({"name":"Alex"}) print([r for r in rel]) # rel=collection.find({"age":{"$gt":20}}) rel=collection.find({"$or":[{"name":"Amy"},{"name":"Alex"}]}) print([r for r in rel]) rel=collection.find_one({"name":"jack"}) print(rel) print(rel['name'])#單個(gè)文檔情況下可用來(lái)取出指定值 conn.close()
- 查看文檔:
- 插入文檔:
- insert():插入單條文檔,可選,多條文檔使用列表插入,已經(jīng)不建議使用
- insert_one():插入單條文檔
- insert_many():插入多條文檔
import pymongo conn=pymongo.MongoClient(host="localhost",port=27017) db=conn['School'] collection=db['teacher'] collection.insert({"name":"Job","course":"career"}) # col.insert(document)#**DEPRECATED** - Use :meth:`insert_one` or :meth:`insert_many` instead. # insert是不推薦用了,建議使用insert_one,insert_many collection.insert_one({"name":"Job1","course":"career1"}) t1={"name":"Job2","course":"career2"} t2={"name":"Job3","course":"career3" } collection.insert_many([t1,t2]) conn.close()
- 修改文檔:
- update():修改單條或多條文檔,由選項(xiàng)multi決定,但已不推薦使用該方法,建議使用update_one()、update_many()
- update_one():修改單條文檔
- update_many():修改多條文檔
-
import pymongo conn=pymongo.MongoClient(host="localhost",port=27017) db=conn['School'] collection=db['teacher'] # rel=collection.update({"name":"Job1"},{ "$set":{"name":"Bob"}})#不推薦使用 # collection.update_one({"name":"Job"},{ "$set":{"name":"Bob"}}) collection.update_many({"name":"Job1"},{ "$set":{"name":"Bob" }}) conn.close()
- 刪除文檔:
- remove():刪除指定文檔,但已經(jīng)不建議使用,建議使用delete_one和delete_many
- delete_one(): 刪除符合條件的一條文檔
- delete_many():刪除符合條件的所有文檔
-
import pymongo conn=pymongo.MongoClient(host="localhost",port=27017) db=conn['School'] collection=db['teacher'] # collection.remove({"name":"Bob"}) # collection.delete_one({"name":"Bob2"}) collection.delete_many({"name":"Job3" }) conn.close()
想了解更多,可以參考pymongo官方文檔:http://api.mongodb.com/python/current/api/pymongo/
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Python常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》、《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門(mén)與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- Python使用pymongo庫(kù)操作MongoDB數(shù)據(jù)庫(kù)的方法實(shí)例
- Python使用pymongo模塊操作MongoDB的方法示例
- Python的MongoDB模塊PyMongo操作方法集錦
- Python操作MongoDB數(shù)據(jù)庫(kù)PyMongo庫(kù)使用方法
- python使用pymongo操作mongo的完整步驟
- Python pymongo模塊常用操作分析
- Python pymongo模塊用法示例
- Python3中使用PyMongo的方法詳解
- python之PyMongo使用總結(jié)
- Python3安裝Pymongo詳細(xì)步驟
相關(guān)文章
pycharm 解除默認(rèn)unittest模式的方法
今天小編就為大家分享一篇pycharm 解除默認(rèn)unittest模式的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11在Python中操作PDF的常見(jiàn)方法小結(jié)
當(dāng)在Python中操作PDF時(shí),有幾種常見(jiàn)的方法,每種方法都有其獨(dú)特的優(yōu)點(diǎn)和用例,在本文中,我們將深入探討這些方法,并提供豐富的示例代碼,以幫助大家更好地理解如何使用這些技術(shù),需要的朋友可以參考下2024-01-01簡(jiǎn)單實(shí)例帶你了解Python的編譯和執(zhí)行全過(guò)程
python 是一種解釋型的編程語(yǔ)言,所以不像編譯型語(yǔ)言那樣需要顯式的編譯過(guò)程。然而,在 Python 代碼執(zhí)行之前,它需要被解釋器轉(zhuǎn)換成字節(jié)碼,這個(gè)過(guò)程就是 Python 的編譯過(guò)程,還不知道的朋友快來(lái)看看吧2023-04-04python將字符串轉(zhuǎn)變成dict格式的實(shí)現(xiàn)
這篇文章主要介紹了python將字符串轉(zhuǎn)變成dict格式的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Python實(shí)現(xiàn)爬取某站視頻彈幕并繪制詞云圖
這篇文章主要介紹了利用Python爬取某站的視頻彈幕,并將其繪制成詞云圖,文中的示例代碼講解詳細(xì),對(duì)我學(xué)習(xí)Python爬蟲(chóng)有一定的幫助,需要的朋友可以參考一下2021-12-12Django多個(gè)app urls配置代碼實(shí)例
這篇文章主要介紹了Django多個(gè)app urls配置代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11解讀卷積神經(jīng)網(wǎng)絡(luò)的人臉識(shí)別
這篇文章主要介紹了解讀卷積神經(jīng)網(wǎng)絡(luò)的人臉識(shí)別問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11關(guān)于Python中幾種隊(duì)列Queue用法區(qū)別
這篇文章主要介紹了關(guān)于Python中幾種隊(duì)列Queue用法區(qū)別,queue隊(duì)列中的put()或者get()方法中都提供了timeout參數(shù),利用這個(gè)參數(shù)可以有效解決上述消除不能消費(fèi)和線程一直阻塞問(wèn)題,需要的朋友可以參考下2023-05-05Python如何運(yùn)用pyaudio庫(kù)去做一個(gè)固定采樣率音頻錄制器
這篇文章主要介紹了Python如何運(yùn)用pyaudio庫(kù)去做一個(gè)固定采樣率音頻錄制器問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05