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中使用成员运算符的示例
May 13 Python
python保存字符串到文件的方法
Jul 01 Python
python daemon守护进程实现
Aug 27 Python
利用Python获取操作系统信息实例
Sep 02 Python
python下载图片实现方法(超简单)
Jul 21 Python
Python实现计算圆周率π的值到任意位的方法示例
May 08 Python
python控制windows剪贴板,向剪贴板中写入图片的实例
May 31 Python
numpy给array增加维度np.newaxis的实例
Nov 01 Python
利用arcgis的python读取要素的X,Y方法
Dec 22 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
Apr 01 Python
Python基于unittest实现测试用例执行
Nov 25 Python
python 对象真假值的实例(哪些视为False)
Dec 11 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
合作指挥官:孟斯克
2020/03/16 星际争霸
javascript KeyDown、KeyPress和KeyUp事件的区别与联系
2009/12/03 Javascript
JavaScript Event学习第十章 一些可替换的事件对
2010/02/10 Javascript
JS实现一键回顶功能示例代码
2013/10/28 Javascript
Blocksit插件实现瀑布流数据无限( 异步)加载
2014/06/20 Javascript
js点击button按钮跳转到另一个新页面
2014/10/10 Javascript
jQuery+slidereveal实现的面板滑动侧边展出效果
2015/03/14 Javascript
jQuery+AJAX实现无刷新下拉加载更多
2015/07/03 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
2015/11/02 Javascript
JavaScript算法教程之sku(库存量单位)详解
2017/06/29 Javascript
Node.js中,在cmd界面,进入退出Node.js运行环境的方法
2018/05/12 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
2018/07/06 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
2019/03/07 Javascript
微信小程序实现搜索历史功能
2020/03/26 Javascript
富文本编辑器vue2-editor实现全屏功能
2019/05/26 Javascript
浅析vue-router实现原理及两种模式
2020/02/11 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
[02:30]DOTA2英雄基础教程 暗影恶魔
2013/12/17 DOTA
[02:12]DOTA2英雄基础教程 变体精灵
2013/12/16 DOTA
[00:49]完美世界DOTA2联赛10月28日开团时刻:随便打
2020/10/29 DOTA
在Python的Django框架中使用通用视图的方法
2015/07/21 Python
Python 实现 贪吃蛇大作战 代码分享
2016/09/07 Python
http请求 request失败自动重新尝试代码示例
2018/01/25 Python
Django框架验证码用法实例分析
2019/05/10 Python
Python基础学习之类与实例基本用法与注意事项详解
2019/06/17 Python
python字符串查找函数的用法详解
2019/07/08 Python
python错误调试及单元文档测试过程解析
2019/12/19 Python
Python with语句和过程抽取思想
2019/12/23 Python
PyQt5 界面显示无响应的实现
2020/03/26 Python
Python读取ini配置文件传参的简单示例
2021/01/05 Python
简单的HTML5初步入门教程
2015/09/29 HTML / CSS
HTML5 drag和drop具体使用详解
2021/01/18 HTML / CSS
美国汽车轮胎和轮毂销售网站:Tire Rack
2018/01/11 全球购物
《奇妙的国际互联网》 教学反思
2014/02/25 职场文书
教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
clear 万能清除浮动(clearfix:after)
2023/05/21 HTML / CSS