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基础教程之缩进介绍
Aug 29 Python
Python多继承顺序实例分析
May 26 Python
5款Python程序员高频使用开发工具推荐
Apr 10 Python
Python 的字典(Dict)是如何存储的
Jul 05 Python
python实现登录密码重置简易操作代码
Aug 14 Python
Python实现代码统计工具
Sep 19 Python
python使用pip安装SciPy、SymPy、matplotlib教程
Nov 20 Python
python/Matplotlib绘制复变函数图像教程
Nov 21 Python
Python Django form 组件动态从数据库取choices数据实例
May 19 Python
Python logging模块进行封装实现原理解析
Aug 07 Python
python爬取youtube视频的示例代码
Mar 03 Python
django使用多个数据库的方法实例
Mar 04 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
php代码把全角数字转为半角数字
2007/12/10 PHP
php生成随机颜色方法汇总
2014/12/03 PHP
php字符串操作针对负值的判断分析
2016/07/28 PHP
轻松掌握php设计模式之访问者模式
2016/09/23 PHP
JavaScript关于select的相关操作说明
2010/01/13 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
jQuery ajax调用WCF服务实例
2014/07/16 Javascript
JS HTML5实现拖拽移动列表效果
2020/08/27 Javascript
Javascript中作用域的详细介绍
2016/10/06 Javascript
vue-cli中vue本地实现跨域调试接口
2019/01/16 Javascript
vue 父组件给子组件传值子组件给父组件传值的实例代码
2019/04/15 Javascript
Angular中使用ng-zorro图标库部分图标不能正常显示问题
2019/04/22 Javascript
vue视频播放暂停代码
2019/11/08 Javascript
Vue实现多标签选择器
2019/11/28 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
Python 抓取动态网页内容方案详解
2014/12/25 Python
Python下使用Psyco模块优化运行速度
2015/04/05 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
python pandas 如何替换某列的一个值
2018/06/09 Python
python 构造三维全零数组的方法
2018/11/12 Python
基于python中__add__函数的用法
2019/11/25 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
使用Keras建立模型并训练等一系列操作方式
2020/07/02 Python
MATLAB数学建模之画图汇总
2020/07/16 Python
css3+jq创作含苞待放的荷花
2014/02/20 HTML / CSS
2014大学生中国梦主题教育学习思想汇报
2014/09/10 职场文书
停车场管理协议书范本
2014/10/08 职场文书
酒店保洁员岗位职责
2015/02/26 职场文书
2015高考寄语集锦
2015/02/27 职场文书
病危通知书样本
2015/04/17 职场文书
党员承诺书格式范文
2015/04/28 职场文书
中国汉字听写大会观后感
2015/06/02 职场文书
党员观看《筑梦中国》心得体会
2016/01/18 职场文书
SQLServer2019 数据库环境搭建与使用的实现
2021/04/08 SQL Server
教你快速开启Apache SkyWalking的自监控
2021/04/25 Servers
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL