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开发之for循环操作实例详解
Nov 12 Python
Python实现简单多线程任务队列
Feb 27 Python
python Crypto模块的安装与使用方法
Dec 21 Python
Python简单计算文件MD5值的方法示例
Apr 11 Python
python读取excel指定列数据并写入到新的excel方法
Jul 10 Python
python代码 FTP备份交换机配置脚本实例解析
Aug 01 Python
Python编译为二进制so可执行文件实例
Dec 23 Python
python3连接mysql获取ansible动态inventory脚本
Jan 19 Python
Python读写操作csv和excle文件代码实例
Mar 16 Python
浅析python函数式编程
Sep 26 Python
Python OpenCV实现图形检测示例详解
Apr 08 Python
Python实现简单得递归下降Parser
May 02 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+AJAX让WordPress动态加载文章的教程
2015/12/11 PHP
Yii2框架使用计划任务的方法
2016/05/25 PHP
PHP实现生成推广海报的方法详解
2018/03/14 PHP
PHP使用Curl实现模拟登录及抓取数据功能示例
2018/04/27 PHP
用JTrackBar实现的模拟苹果风格的滚动条
2007/08/06 Javascript
两种简单实现菜单高亮显示的JS类代码
2010/06/27 Javascript
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
2014/01/13 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
JS拖动鼠标画出方框实现鼠标选区的方法
2015/08/05 Javascript
JavaScript处理解析JSON数据过程详解
2015/09/11 Javascript
jQuery滚动新闻实现代码
2016/06/26 Javascript
JQ选择器_选择同类元素的第N个子元素的实现方法
2016/09/08 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
使用Vue开发动态刷新Echarts组件的教程详解
2018/03/22 Javascript
利用Console来Debug的10个高级技巧汇总
2018/03/26 Javascript
在React项目中使用Eslint代码检查工具及常见问题
2018/10/10 Javascript
mpvue小程序循环动画开启暂停的实现方法
2019/05/15 Javascript
Python中的choice()方法使用详解
2015/05/15 Python
Python selenium 父子、兄弟、相邻节点定位方式详解
2016/09/15 Python
Python简单实现控制电脑的方法
2018/01/22 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
2018/01/24 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
2020/04/29 Python
Python jieba结巴分词原理及用法解析
2020/11/05 Python
CSS3中几个新增加的盒模型属性使用教程
2016/03/01 HTML / CSS
FOREO斐珞尔官方旗舰店:LUNA露娜洁面仪
2018/03/11 全球购物
护理专业推荐信
2013/11/07 职场文书
学习考察心得体会
2014/09/04 职场文书
交通事故委托书范本(2篇)
2014/09/21 职场文书
2014年涉外离婚协议书范本
2014/11/20 职场文书
Python爬虫之自动爬取某车之家各车销售数据
2021/06/02 Python
Python实现天气查询软件
2021/06/07 Python
详解Python描述符的工作原理
2021/06/11 Python
linux目录管理方法介绍
2022/06/01 Servers
mysql sql常用语句大全
2022/06/21 MySQL