python連接、操作mongodb數(shù)據(jù)庫的方法實例詳解
本文實例講述了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)
無條件查詢全部
dataSet=collection.find() for item in dataSet: print(item)
按AND條件查詢全部
#查詢cpu使用率大于等于10且內存使用率大于等于10的所有字段數(shù)據(jù)
dataSet=collection.find({"cpu":{"$gte":10},"mem":{"$gte":10}})
for item in dataSet:
print(item)
按AND條件查詢指定字段數(shù)據(jù)
#查詢cpu使用率大于等于10且內存使用率大于等于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且內存使用率等于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或者內存使用率大于等于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或者內存使用率等于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)
查詢結果寫入excel
#查詢cpu使用率大于等于10且內存使用率大于等于10的數(shù)據(jù),字段只顯示did、ts、cpu、mem,查詢結果寫入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/設備cpu內存數(shù)據(jù).xlsx")
跳行查詢
#下面表示跳過兩條數(shù)據(jù)后讀取數(shù)據(jù) dataSet=collection.find().skip(2) for item in dataSet: print(item)
去重
#查詢cpu使用率大于20、did不重復的數(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更詳細說明http://www.dhdzp.com/article/169726.htm
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python常見數(shù)據(jù)庫操作技巧匯總》、《Python數(shù)學運算技巧總結》、《Python數(shù)據(jù)結構與算法教程》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
- python連接mongodb操作數(shù)據(jù)示例(mongodb數(shù)據(jù)庫配置類)
- Python中的MongoDB基本操作:連接、查詢實例
- python連接mongodb密碼認證實例
- python連接MySQL、MongoDB、Redis、memcache等數(shù)據(jù)庫的方法
- Python簡單連接MongoDB數(shù)據(jù)庫的方法
- python實現(xiàn)連接mongodb的方法
- python連接mongodb集群方法詳解
- Mongodb基本操作與Python連接mongodb并進行基礎操作的方法
- python連接mongodb數(shù)據(jù)庫操作數(shù)據(jù)示例
- Python如何使用pymongo連接MongoDB數(shù)據(jù)庫并進行相關操作
相關文章
比較兩個numpy數(shù)組并實現(xiàn)刪除共有的元素
這篇文章主要介紹了比較兩個numpy數(shù)組并實現(xiàn)刪除共有的元素,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02

