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读写文本文件及编写简单的文本编辑器
Mar 11 Python
Python键盘输入转换为列表的实例
Jun 23 Python
Python中GeoJson和bokeh-1的使用讲解
Jan 03 Python
浅析Python 实现一个自动化翻译和替换的工具
Apr 14 Python
pyqt5之将textBrowser的内容写入txt文档的方法
Jun 21 Python
Python中函数的返回值示例浅析
Aug 28 Python
python中必要的名词解释
Nov 20 Python
Python turtle库绘制菱形的3种方式小结
Nov 23 Python
在python中计算ssim的方法(与Matlab结果一致)
Dec 19 Python
python列表推导和生成器表达式知识点总结
Jan 10 Python
vue常用指令代码实例总结
Mar 16 Python
keras实现theano和tensorflow训练的模型相互转换
Jun 19 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初学者头疼十四条问题大总结
2008/11/12 PHP
PHP图像处理类库及演示分享
2015/05/17 PHP
php通过会话控制实现身份验证实例
2016/10/18 PHP
一个符号插入器 中用到的js代码
2007/09/04 Javascript
nodejs 实现模拟form表单上传文件
2014/07/14 NodeJs
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
引用jquery框架后出错的解决方法
2016/08/09 Javascript
js H5 canvas投篮小游戏
2016/08/18 Javascript
基于javascript的Form表单验证
2016/12/29 Javascript
bootstrapValidator.min.js表单验证插件
2017/02/09 Javascript
ES6学习教程之对象的扩展详解
2017/05/02 Javascript
理顺8个版本vue的区别(小结)
2018/09/17 Javascript
jquery轻量级数字动画插件countUp.js使用详解
2019/10/17 jQuery
详解vue-flickity的fullScreen功能实现
2020/04/07 Javascript
解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题
2020/04/21 Javascript
[05:17]DOTA2誓师:今天我们在这里 明天TI4等我!
2014/03/26 DOTA
[01:03:47]VP vs NewBee Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
Python脚本实现DNSPod DNS动态解析域名
2015/02/14 Python
python中关于for循环的碎碎念
2017/06/30 Python
使用Python做垃圾分类的原理及实例代码附源码
2019/07/02 Python
pandas分区间,算频率的实例
2019/07/04 Python
Django Aggregation聚合使用方法解析
2019/08/01 Python
python os.fork() 循环输出方法
2019/08/08 Python
python django 原生sql 获取数据的例子
2019/08/14 Python
Django中使用Json返回数据的实现方法
2020/06/03 Python
Python列表推导式实现代码实例
2020/09/09 Python
通过代码实例了解Python3编程技巧
2020/10/13 Python
基于Canvas+Vue的弹幕组件的实现
2019/07/23 HTML / CSS
大学生学习生活的自我评价
2013/11/01 职场文书
考博专家推荐信模板
2013/12/02 职场文书
物业工作计划书
2014/01/10 职场文书
双十佳事迹材料
2014/01/29 职场文书
生育关怀行动实施方案
2014/03/26 职场文书
团拜会策划方案
2014/06/07 职场文书
2015年环卫工作总结
2015/04/28 职场文书
mysql5.6主从搭建以及不同步问题详解
2021/12/04 MySQL