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执行子进程实现进程间通信的方法
Jun 02 Python
关于Python元祖,列表,字典,集合的比较
Jan 06 Python
Python检查和同步本地时间(北京时间)的实现方法
Dec 03 Python
python画图的函数用法以及技巧
Jun 28 Python
python 字典 setdefault()和get()方法比较详解
Aug 07 Python
Python数据可视化:饼状图的实例讲解
Dec 07 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
Feb 18 Python
Python socket处理client连接过程解析
Mar 18 Python
Django 解决distinct无法去除重复数据的问题
May 20 Python
使用Python通过oBIX协议访问Niagara数据的示例
Dec 04 Python
详解matplotlib中pyplot和面向对象两种绘图模式之间的关系
Jan 22 Python
python绘制简单直方图(质量分布图)的方法
Apr 21 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实现批量下载百度云盘文件例子分享
2014/04/10 PHP
php中的mongodb select常用操作代码示例
2014/09/06 PHP
PHP常用技术文之文件操作和目录操作总结
2014/09/27 PHP
PHP远程调试之XDEBUG
2015/12/29 PHP
php技巧小结【推荐】
2017/01/19 PHP
Div自动滚动到末尾的代码
2008/10/26 Javascript
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
理解Javascript_09_Function与Object
2010/10/16 Javascript
使用jquery动态加载javascript以减少服务器压力
2012/10/29 Javascript
JQuery+DIV自定义滚动条样式的具体实现
2013/06/25 Javascript
Windows8下搭建Node.js开发环境教程
2014/09/03 Javascript
推荐一个封装好的getElementsByClassName方法
2014/12/02 Javascript
基于AngularJs + Bootstrap + AngularStrap相结合实现省市区联动代码
2016/05/30 Javascript
Vue.js实战之组件的进阶
2017/04/04 Javascript
微信小程序实现多个按钮toggle功能的实例
2017/06/13 Javascript
基于Vue2x的图片预览插件的示例代码
2018/05/14 Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
2018/08/16 Javascript
node+multer实现图片上传的示例代码
2020/02/18 Javascript
Element Backtop回到顶部的具体使用
2020/07/27 Javascript
Javascript如何实现扩充基本类型
2020/08/26 Javascript
[48:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第二场 1月29日
2021/03/11 DOTA
Python多线程编程(七):使用Condition实现复杂同步
2015/04/05 Python
浅谈python爬虫使用Selenium模拟浏览器行为
2018/02/23 Python
几行Python代码爬取3000+上市公司的信息
2019/01/24 Python
python 机器学习之支持向量机非线性回归SVR模型
2019/06/26 Python
Python测试线程应用程序过程解析
2019/12/31 Python
为什么称python为胶水语言
2020/06/16 Python
Python偏函数实现原理及应用
2020/11/20 Python
Django-simple-captcha验证码包使用方法详解
2020/11/28 Python
Python批量删除mysql中千万级大量数据的脚本分享
2020/12/03 Python
让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)
2014/04/08 HTML / CSS
法国票务网站:Ticketmaster法国
2018/07/09 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
电大自我鉴定
2013/10/27 职场文书
倡议书的格式写法
2015/04/28 职场文书
idea 在springboot中使用lombok插件的方法
2021/08/02 Java/Android