python连接、操作mongodb数据库的方法实例详解


Posted in Python onSeptember 11, 2019

本文实例讲述了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://3water.com/article/169726.htm

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
约瑟夫问题的Python和C++求解方法
Aug 20 Python
Django中url的反向查询的方法
Mar 14 Python
python3.6利用pyinstall打包py为exe的操作实例
Oct 31 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
Nov 14 Python
详解python中自定义超时异常的几种方法
Jul 29 Python
python实现拼接图片
Mar 23 Python
Python flask路由间传递变量实例详解
Jun 03 Python
Django限制API访问频率常用方法解析
Oct 12 Python
python实现录音功能(可随时停止录音)
Oct 26 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
Nov 19 Python
python绘图pyecharts+pandas的使用详解
Dec 13 Python
python实现定时发送邮件
Dec 23 Python
面向对象学习之pygame坦克大战
Sep 11 #Python
Python整数与Numpy数据溢出问题解决
Sep 11 #Python
python中通过selenium简单操作及元素定位知识点总结
Sep 10 #Python
用Python画一个LinkinPark的logo代码实例
Sep 10 #Python
Pytorch修改ResNet模型全连接层进行直接训练实例
Sep 10 #Python
django drf框架自带的路由及最简化的视图
Sep 10 #Python
Pytorch中accuracy和loss的计算知识点总结
Sep 10 #Python
You might like
php header Content-Type类型小结
2011/07/03 PHP
php图片加中文水印实现代码分享
2012/10/31 PHP
PHP图片库imagemagick安装方法
2014/09/23 PHP
laravel http 自定义公共验证和响应的方法
2019/09/29 PHP
Mootools 1.2 手风琴(Accordion)教程
2009/09/15 Javascript
JavaScript高级程序设计 阅读笔记(二十) js错误处理
2012/08/14 Javascript
jQuery设置和移除文本框默认值的方法
2015/03/09 Javascript
使用javascript插入样式
2016/03/14 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
使用jquery/js获取iframe父子级、同级获取元素的方法
2016/08/05 Javascript
ES6学习笔记之正则表达式和字符串正则方法分析
2017/04/25 Javascript
VUE实现一个分页组件的示例
2017/09/13 Javascript
vue.js移动数组位置,同时更新视图的方法
2018/03/08 Javascript
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
2018/08/22 Javascript
js利用iframe实现选项卡效果
2020/08/09 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
Python实现快速排序和插入排序算法及自定义排序的示例
2016/02/16 Python
玩转python爬虫之URLError异常处理
2016/02/17 Python
教你用Python写安卓游戏外挂
2018/01/11 Python
python实现对指定输入的字符串逆序输出的6种方法
2018/04/26 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
2019/02/28 Python
python 列表、字典和集合的添加和删除操作
2019/12/16 Python
Merrell迈乐澳大利亚网站:购买户外登山鞋
2017/05/28 全球购物
荷兰家电购物网站:Expert.nl
2020/01/18 全球购物
服装设计行业个人的自我评价
2013/12/20 职场文书
电工工作职责范本
2014/02/22 职场文书
社团2014年植树节活动总结
2014/03/11 职场文书
双语教学实施方案
2014/03/23 职场文书
优秀党员学习焦裕禄精神思想汇报范文
2014/09/10 职场文书
学习十八大标语
2014/10/09 职场文书
同学聚会邀请函
2015/01/30 职场文书
浅谈Python项目的服务器部署
2021/04/25 Python
Python连接Postgres/Mysql/Mongo数据库基本操作大全
2021/06/29 Python
关于k8s环境部署mysql主从的问题
2022/03/13 MySQL
Consul在linux环境的集群部署
2022/04/08 Servers
深入理解mysql事务隔离级别和存储引擎
2022/04/12 MySQL