python連接、操作mongodb數(shù)據(jù)庫的方法實(shí)例詳解
本文實(shí)例講述了python連接、操作mongodb數(shù)據(jù)庫的方法。分享給大家供大家參考,具體如下:
數(shù)據(jù)庫連接
from pymongo import MongoClient import pandas as pd #建立MongoDB數(shù)據(jù)庫連接 client = MongoClient('162.23.167.36',27101)#或MongoClient("mongodb://162.23.167.36:27101/") #連接所需數(shù)據(jù)庫,testDatabase為數(shù)據(jù)庫名: db=client.testDatabase #連接所用集合,也就是我們通常所說的表,testTable為表名 collection=db.testTable
查詢前幾條
dataSet=collection.find().limit(3) for item in dataSet: print(item)
無條件查詢?nèi)?/strong>
dataSet=collection.find() for item in dataSet: print(item)
按AND條件查詢?nèi)?/strong>
#查詢cpu使用率大于等于10且內(nèi)存使用率大于等于10的所有字段數(shù)據(jù) dataSet=collection.find({"cpu":{"$gte":10},"mem":{"$gte":10}}) for item in dataSet: print(item)
按AND條件查詢指定字段數(shù)據(jù)
#查詢cpu使用率大于等于10且內(nèi)存使用率大于等于10的數(shù)據(jù),字段只顯示did、ts、cpu、mem dataSet=collection.find({"cpu":{"$gte":10},"mem":{"$gte":10}}, {"did":1,"ts":1,"cpu":1,"mem":1}) for item in dataSet: print(item) #查詢cpu使用率等于0且內(nèi)存使用率等于0的數(shù)據(jù),字段只顯示did、ts、cpu、mem dataSet=collection.find({"cpu":0,"mem":0}, {"did":1,"ts":1,"cpu":1,"mem":1}) for item in dataSet: print(item)
按OR條件查詢指定字段數(shù)據(jù)
#查詢cpu使用率大于等于10或者內(nèi)存使用率大于等于10的數(shù)據(jù),字段只顯示did、ts、cpu、mem dataSet=collection.find({"$or":[{"cpu":{"$gte":10}},{"mem":{"$gte":10}}]}, {"did":1,"ts":1,"cpu":1,"mem":1}) for item in dataSet: print(item) #查詢cpu使用率等于10或者內(nèi)存使用率等于10的數(shù)據(jù),字段只顯示did、ts、cpu、mem dataSet=collection.find({"$or":[{"cpu":10},{"mem":10}]}, {"did":1,"ts":1,"cpu":1,"mem":1}) for item in dataSet: print(item)
mongodb的條件操作符
# > - $gt # < - $lt # >= - $gte # <= - $lte
排序
#單列升序排序查詢,,1 為升序,-1為降序 dataSet=collection.find().sort([("cpu",1)]) for item in dataSet: print(item) #多列排序查詢 dataSet=collection.find().sort([('did',pymongo.ASCENDING),('cpu',pymongo.DESCENDING)]) for item in dataSet: print(item)
查詢結(jié)果寫入excel
#查詢cpu使用率大于等于10且內(nèi)存使用率大于等于10的數(shù)據(jù),字段只顯示did、ts、cpu、mem,查詢結(jié)果寫入excel import pandas as pd dataSet=collection.find({"cpu":{"$gte":10},"mem":{"$gte":10}}, {"did":1,"ts":1,"cpu":1,"mem":1}) did,ts,cpu,mem=[],[],[],[] for item in dataSet: did.append(item["did"]) ts.append(item["ts"]) cpu.append(item["cpu"]) mem.append(item["mem"]) df=pd.DataFrame({"did":did,"ts":ts,"cpu":cpu,"mem":mem}) df.to_excel("C:/Users/Desktop/設(shè)備cpu內(nèi)存數(shù)據(jù).xlsx")
跳行查詢
#下面表示跳過兩條數(shù)據(jù)后讀取數(shù)據(jù) dataSet=collection.find().skip(2) for item in dataSet: print(item)
去重
#查詢cpu使用率大于20、did不重復(fù)的數(shù)據(jù) dataSet=collection.distinct("did",{"cpu":{$gt:20}}) for item in dataSet: print(item) #等同mysql的select distinct(did) from user where cpu>20
參考:
操作mongodb更詳細(xì)說明http://www.dbjr.com.cn/article/169726.htm
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python常見數(shù)據(jù)庫操作技巧匯總》、《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- python連接mongodb操作數(shù)據(jù)示例(mongodb數(shù)據(jù)庫配置類)
- Python中的MongoDB基本操作:連接、查詢實(shí)例
- python連接mongodb密碼認(rèn)證實(shí)例
- python連接MySQL、MongoDB、Redis、memcache等數(shù)據(jù)庫的方法
- Python簡單連接MongoDB數(shù)據(jù)庫的方法
- python實(shí)現(xiàn)連接mongodb的方法
- python連接mongodb集群方法詳解
- Mongodb基本操作與Python連接mongodb并進(jìn)行基礎(chǔ)操作的方法
- python連接mongodb數(shù)據(jù)庫操作數(shù)據(jù)示例
- Python如何使用pymongo連接MongoDB數(shù)據(jù)庫并進(jìn)行相關(guān)操作
相關(guān)文章
Python模塊學(xué)習(xí) filecmp 文件比較
filecmp模塊用于比較文件及文件夾的內(nèi)容,它是一個(gè)輕量級(jí)的工具,使用非常簡單。python標(biāo)準(zhǔn)庫還提供了difflib模塊用于比較文件的內(nèi)容。關(guān)于difflib模塊,且聽下回分解2012-08-08如何用VScode配置Python開發(fā)環(huán)境
這篇文章主要介紹了如何用VScode配置Python開發(fā)環(huán)境,vscode有很多優(yōu)點(diǎn),用VScode來編寫Python,也是相當(dāng)?shù)暮糜玫?需要的朋友可以參考下2023-03-03寶塔部署django項(xiàng)目的實(shí)現(xiàn)步驟(圖文教程)
本文主要介紹了寶塔部署django項(xiàng)目的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03Python自定義函數(shù)的創(chuàng)建、調(diào)用和函數(shù)的參數(shù)詳解
這篇文章主要介紹了Python自定義函數(shù)的創(chuàng)建、調(diào)用和函數(shù)的參數(shù)、變量作用域等常見問題,需要的朋友可以參考下2014-03-03Python tkinter界面實(shí)現(xiàn)歷史天氣查詢的示例代碼
這篇文章主要介紹了Python tkinter界面實(shí)現(xiàn)歷史天氣查詢的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08關(guān)于Python 常用獲取元素 Driver 總結(jié)
今天小編就為大家分享一篇關(guān)于Python 常用獲取元素 Driver 總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11淺談Python3中datetime不同時(shí)區(qū)轉(zhuǎn)換介紹與踩坑
最近的項(xiàng)目需要根據(jù)用戶所屬時(shí)區(qū)制定一些特定策略,學(xué)習(xí)、應(yīng)用了若干python3的時(shí)區(qū)轉(zhuǎn)換相關(guān)知識(shí),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08解決Django后臺(tái)ManyToManyField顯示成Object的問題
今天小編就為大家分享一篇解決Django后臺(tái)ManyToManyField顯示成Object的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08