歡迎關注【無量測試之道】公衆號,回覆【領取資源】,
Python編程學習資源乾貨、
Python+Appium框架APP的UI自動化、
Python+Selenium框架Web的UI自動化、
Python+Unittest框架API自動化、
資源和代碼 免費送啦~
文章下方有公衆號二維碼,可直接微信掃一掃關注即可。
最近幾篇文章都是講的Mongo, 也是想趁這個機會把Mongo的使用的一些技巧總結並分享一下,今天的文章是圍繞着Python如何來連接Mongo服務操作MongoDB,如果你正在工作或學習中使用Python並且也正好在使用MongoDB,相信對大家有益處。
我們在使用Python操作MongoDB時需要藉助第三方的一個工具庫,所以我們需要先安裝,命令如下:
python -m pip install pymongo (如果你配置好了pip 的環境變量也可用pip install pymongo).
直接上代碼,大家可以基於前面文章提到的搭建MongoDB的服務來實戰檢驗一下代碼。
import pymongo
def getcol():
myclient = pymongo.MongoClient('mongodb://127.0.0.1:27017/')#連接mongodb服務
mydb=myclient["admin"] #選擇要連接的數據庫名
mydb.authenticate("tony","123456")#數據庫賬號及密碼驗證
mycollection=mydb["test"]#執行要在操作的集合,不存就創建
print(mydb.list_collection_names())#打印出選擇連接的數據庫中的表
return mycollection #返回當前連接的集合
def mongo_insert(params): #插入數據
mycol=getcol()
if(type(params)==dict):#判斷插入的數據是一條還是多條,dict就是一條,list就是多條
mycol.insert_one(params)
elif(type(params)==list):
mycol.insert_many(params)
def mongo_find(): #查詢數據
mycol=getcol()
for doc in mycol.find(): #查詢所有數據
print(doc)
for doc in mycol.find({},{"_id":0,"name":1,"age":1}): #查詢返回指定字段的數據
print(doc)
myselect={"name":"tony"}
for doc in mycol.find(myselect):#查詢返回指定條件的數據
print(doc)
def mongo_delete():#刪除集合中的數據
mycol=getcol()
myselect={"name":"tony"}
mycol.delete_one(myselect)#刪除單條數據
mycol.delete_many({}) #刪除所有數據
def mongo_update():#修改集合中的數據
mycol=getcol()
myselect = {"name": "tony"}#查詢條件
newvalue = {"$set": {"age": "35"}}#變更的內容
mycol.update(myselect,newvalue)
if __name__=="__main__":
mydict = {"name": "tony", "age": "22", "sex": "man"}
mylist = [
{"name": "tom", "age": "100", "sex": "man"},
{"name": "jim", "age": "101", "sex": "woman"},
{"name": "lucy", "age": "10", "sex": "woman"},
{"name": "lily", "age": "103", "sex": "woman"},
{"name": "dido", "age": "109", "sex": "man"}
]
mongo_insert(mylist)
mongo_find()
mongo_update()
mongo_delete()
總結:今天的文章是通過Python來實現針對MongoDB的增刪改查等操作,這也是最基礎的,最實用的操作。
備註:我的個人公衆號已正式開通,致力於測試技術的分享,包含:大數據測試、功能測試,測試開發,API接口自動化、測試運維、UI自動化測試等,微信搜索公衆號:“無量測試之道”,或掃描下方二維碼:
添加關注,一起共同成長吧。