Python操作MongoDB详解及实例


Posted in Python onMay 18, 2017

Python操作MongoDB详解及实例

由于需要在页面展示MongoDB库里的数据,所以考虑使用python操作MongoDB,PyMongo模块是Python对MongoDB操作的接口包,所以首页安装pymongo。

1、安装命令

pip install pymongo

2、查询命令:

import pymongo

# 创建连接
client = pymongo.MongoClient(host="10.0.2.38", port=27017)
# 连接probeb库
db = client['probeb']
# 打印库中所有集合名称
print(db.collection_names())
# 连接到test1这个集合
collection = db.test1

# 这条命令是查找rssi大于srssi小于erssi,stime大于stime,小于etime的数据以stime倒叙排列
sumdata = collection.find({"RSSI": {"$gt": int(srssi), "$lt": int(erssi)}, "stime": {"$gt": stime, "$lt": etime}}).sort([('stime', -1)])

#这条命令是查找rssi大于srssi小于erssi,stime大于stime小于etime 且mac等于search或者dmac等于search(search是个变量, "$options":"i"是为了不区分search内容的大小写)的数据,以stime倒叙排列
sumdata = collection.find({"RSSI": {"$gt": int(srssi), "$lt": int(erssi)}, "stime": {"$gt": stime, "$lt": etime}, "$or": [{"mac": {"$regex": search, "$options":"i"}}, {"dmac": {"$regex": search,"$options":"i"}}]}).sort([('stime', -1)])

# 现在查询的结果赋值给sumdata,如果想查出具体数据,可以使用for循环
for data in sumdata:
  print(data)

# 注意:在使用python操作MongoDB进行排序的时候,不能使用db.test1.find().sort({"name" : 1, "age" : 1}) 
# 否则会遇到如下异常:
# TypeError: if no direction is specified, key_or_list must be an instance of list 
# 解决方法:
# db.tes1t.find().sort([("name", 1), ("age" , 1)]) 
# 原因:在python中只能使用列表进行排序,不能使用字典

3、插入数据

import datetime

# 插入数据
account = {"AccountID":1,"UserName":"libing",'date':datetime.datetime.now()}
accounts = [{"AccountID":2,"UserName":"liuw",'date':datetime.datetime.now()},
       {"AccountID":3,"UserName":"urling",'date':datetime.datetime.now()}]#每条记录插入时间都
 
collections.insert(account)

4、总而言之,python操作MongoDB和MongoDB的命令操作大同小异。只要熟练使用MongoDB的命令操作,那么用pymongo操作就不是问题。

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
Python中的装饰器用法详解
Jan 14 Python
python中利用await关键字如何等待Future对象完成详解
Sep 07 Python
Python中xml和json格式相互转换操作示例
Dec 05 Python
pandas 数据索引与选取的实现方法
Jun 21 Python
Django REST framework 视图和路由详解
Jul 19 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
Aug 05 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
Sep 26 Python
Python如何使用函数做字典的值
Nov 30 Python
浅谈图像处理中掩膜(mask)的意义
Feb 19 Python
pycharm实现在虚拟环境中引入别人的项目
Mar 09 Python
python中复数的共轭复数知识点总结
Dec 06 Python
pandas数值排序的实现实例
Jul 25 Python
Python 迭代器与生成器实例详解
May 18 #Python
Python字符串处理实例详解
May 18 #Python
Python进阶-函数默认参数(详解)
May 18 #Python
Python装饰器实现几类验证功能做法实例
May 18 #Python
如何用itertools解决无序排列组合的问题
May 18 #Python
详解使用python的logging模块在stdout输出的两种方法
May 17 #Python
Python中正则表达式详解
May 17 #Python
You might like
Yii框架获取当前controlle和action对应id的方法
2014/12/03 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
2020/04/06 PHP
javascript instanceof 与typeof使用说明
2010/01/11 Javascript
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
Jquery UI震动效果实现原理及步骤
2013/02/04 Javascript
使用jQuery设置disabled属性与移除disabled属性
2014/08/21 Javascript
js+html5获取用户地理位置信息并在Google地图上显示的方法
2015/06/05 Javascript
纯HTML5制作围住神经猫游戏-附源码下载
2015/08/23 Javascript
Bootstrap表单组件教程详解
2016/04/26 Javascript
Javascript 跨域知识详细介绍
2016/10/30 Javascript
基于jquery实现多级菜单效果
2017/07/25 jQuery
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
浅谈JavaScript闭包
2019/04/09 Javascript
vue-autoui自匹配webapi的UI控件的实现
2020/03/20 Javascript
antd 表格列宽自适应方法以及错误处理操作
2020/10/27 Javascript
[51:52]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
在Python的Django框架中调用方法和处理无效变量
2015/07/15 Python
整理Python 常用string函数(收藏)
2016/05/30 Python
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
python3.4用循环往mysql5.7中写数据并输出的实现方法
2017/06/20 Python
详解Python学习之安装pandas
2019/04/16 Python
对PyQt5中的菜单栏和工具栏实例详解
2019/06/20 Python
Django多数据库的实现过程详解
2019/08/01 Python
python图形开发GUI库pyqt5的基本使用方法详解
2020/02/14 Python
Visual Studio code 配置Python开发环境
2020/09/11 Python
利用简洁的图片预加载组件提升html5移动页面的用户体验
2016/03/11 HTML / CSS
迪卡侬英国官网:Decathlon英国
2017/04/08 全球购物
买卖协议书范本
2014/04/21 职场文书
月度优秀员工获奖感言
2014/08/16 职场文书
学习党的群众路线教育实践活动心得体会范文
2014/11/03 职场文书
公司行政助理岗位职责
2015/04/11 职场文书
2015年设计师个人工作总结
2015/04/25 职场文书
父亲去世追悼词
2015/06/23 职场文书
城镇居民医疗保险工作总结
2015/08/10 职场文书
基于Python实现将列表数据生成折线图
2022/03/23 Python
JavaScript实现九宫格拖拽效果
2022/06/28 Javascript