python连接、操作mongodb数据库的方法实例详解
作者:阳望 时间:2024-01-12 13:44:40
本文实例讲述了python连接、操作mongodb数据库的方法。分享给大家供大家参考,具体如下:
数据库连接
from pymongo import MongoClient
import pandas as pd
#建立MongoDB数据库连接
client = MongoClient('162.23.167.36',27101)#或MongoClient("mongodb://162.23.167.36:27101/")
#连接所需数据库,testDatabase为数据库名:
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的所有字段数据
dataSet=collection.find({"cpu":{"$gte":10},"mem":{"$gte":10}})
for item in dataSet:
print(item)
按AND条件查询指定字段数据
#查询cpu使用率大于等于10且内存使用率大于等于10的数据,字段只显示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的数据,字段只显示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条件查询指定字段数据
#查询cpu使用率大于等于10或者内存使用率大于等于10的数据,字段只显示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的数据,字段只显示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的数据,字段只显示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内存数据.xlsx")
跳行查询
#下面表示跳过两条数据后读取数据
dataSet=collection.find().skip(2)
for item in dataSet:
print(item)
去重
#查询cpu使用率大于20、did不重复的数据
dataSet=collection.distinct("did",{"cpu":{$gt:20}})
for item in dataSet:
print(item)
#等同mysql的select distinct(did) from user where cpu>20
参考:
操作mongodb更详细说明https://www.jb51.net/article/169726.htm
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/qq_23860475/article/details/81097007
标签:python,mongodb
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python3检查字典传入函数键是否齐全的实例
2023-11-07 07:36:31
Keras 加载已经训练好的模型进行预测操作
2021-07-04 15:15:10
Python基于TCP实现会聊天的小机器人功能示例
2022-11-08 13:03:33
![](https://img.aspxhome.com/file/2023/8/82748_0s.png)
pandas DataFrame 根据多列的值做判断,生成新的列值实例
2023-11-11 01:48:11
![](https://img.aspxhome.com/file/2023/5/71575_0s.jpg)
教你pycharm运行Django第一个项目
2021-08-25 16:40:07
![](https://img.aspxhome.com/file/2023/9/80669_0s.png)
百度地图API之本地搜索与范围搜索
2023-08-23 17:24:38
![](https://img.aspxhome.com/file/2023/6/56176_0s.jpg)
跨浏览器的CSS固定定位{position:fixed}
2007-05-11 16:50:00
Python 批量下载阴阳师网站壁纸
2023-12-28 15:01:42
argparse 模块简介
2023-05-27 10:19:36
![](https://img.aspxhome.com/file/2023/2/117382_0s.png)
实例讲解Python脚本成为Windows中运行的exe文件
2023-07-15 02:14:31
基于Php mysql存储过程的详解
2024-06-05 09:22:00
如何使用Python+ChatGPT批量生成论文
2023-10-01 20:30:17
![](https://img.aspxhome.com/file/2023/9/63199_0s.png)
python改变日志(logging)存放位置的示例
2023-07-04 06:37:58
python检测lvs real server状态
2021-12-12 21:21:36
软件测试之使用Fiddler实现弱网测试
2023-03-04 20:47:45
![](https://img.aspxhome.com/file/2023/6/123766_0s.png)
MySQL5.7更改密码时出现ERROR 1054 (42S22)的解决方法
2024-01-23 12:12:47
![](https://img.aspxhome.com/file/2023/6/121276_0s.jpg)
Python 如何解决稀疏矩阵运算
2022-02-13 21:59:01
![](https://img.aspxhome.com/file/2023/0/94600_0s.png)
适合后台管理系统开发的12个前端框架(小结)
2023-08-29 02:11:14
![](https://img.aspxhome.com/file/2023/4/127234_0s.jpg)
python通过安装itchat包实现微信自动回复收到的春节祝福
2022-07-09 20:36:26
![](https://img.aspxhome.com/file/2023/4/94694_0s.png)
Pycharm 2020年最新激活码(亲测有效)
2023-07-24 00:42:14
![](https://img.aspxhome.com/file/2023/6/59136_0s.png)