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
0
投稿

猜你喜欢

  • python3检查字典传入函数键是否齐全的实例

    2023-11-07 07:36:31
  • Keras 加载已经训练好的模型进行预测操作

    2021-07-04 15:15:10
  • Python基于TCP实现会聊天的小机器人功能示例

    2022-11-08 13:03:33
  • pandas DataFrame 根据多列的值做判断,生成新的列值实例

    2023-11-11 01:48:11
  • 教你pycharm运行Django第一个项目

    2021-08-25 16:40:07
  • 百度地图API之本地搜索与范围搜索

    2023-08-23 17:24:38
  • 跨浏览器的CSS固定定位{position:fixed}

    2007-05-11 16:50:00
  • Python 批量下载阴阳师网站壁纸

    2023-12-28 15:01:42
  • argparse 模块简介

    2023-05-27 10:19:36
  • 实例讲解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
  • 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
  • MySQL5.7更改密码时出现ERROR 1054 (42S22)的解决方法

    2024-01-23 12:12:47
  • Python 如何解决稀疏矩阵运算

    2022-02-13 21:59:01
  • 适合后台管理系统开发的12个前端框架(小结)

    2023-08-29 02:11:14
  • python通过安装itchat包实现微信自动回复收到的春节祝福

    2022-07-09 20:36:26
  • Pycharm 2020年最新激活码(亲测有效)

    2023-07-24 00:42:14
  • asp之家 网络编程 m.aspxhome.com