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读取注册表中值的方法
Apr 08 Python
Python验证码识别处理实例
Dec 28 Python
在MAC上搭建python数据分析开发环境
Jan 26 Python
Python的Django框架中使用SQLAlchemy操作数据库的教程
Jun 02 Python
Python彩色化Linux的命令行终端界面的代码实例分享
Jul 02 Python
python中函数传参详解
Jul 03 Python
python3 unicode列表转换为中文的实例
Oct 26 Python
Python发送邮件功能示例【使用QQ邮箱】
Dec 04 Python
如何使用python爬虫爬取要登陆的网站
Jul 12 Python
django 实现将本地图片存入数据库,并能显示在web上的示例
Aug 07 Python
为什么黑客都用python(123个黑客必备的Python工具)
Jan 31 Python
Python configparser模块应用过程解析
Aug 14 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的POSIX 函数以及进程测试的深入分析
2013/06/03 PHP
PHP使用SOAP调用API操作示例
2018/12/25 PHP
Thinkphp5.0 框架Model模型简单用法分析
2019/10/11 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
2019/10/12 PHP
游戏人文件夹程序 ver 3.0
2006/07/14 Javascript
创建一个复制UBB软件信息的链接或按钮的js代码
2008/01/06 Javascript
过虑特殊字符输入的js代码
2010/08/05 Javascript
js 获取浏览器版本以此来调整CSS的样式
2014/06/03 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
2015/10/21 Javascript
18个非常棒的jQuery代码片段
2015/11/02 Javascript
JavaScript原生xmlHttp与jquery的ajax方法json数据格式实例
2015/12/04 Javascript
JS中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()
2016/08/11 Javascript
简单实现JS计算器功能
2016/12/21 Javascript
javascript 删除数组元素和清空数组的简单方法
2017/02/24 Javascript
解决Node.js使用MySQL出现connect ECONNREFUSED 127.0.0.1:3306的问题
2017/03/09 Javascript
Angular2入门--架构总览
2017/03/29 Javascript
详解使用webpack构建多页面应用
2017/12/21 Javascript
jQuery实现DIV响应鼠标滑过由下向上展开效果示例【测试可用】
2018/04/26 jQuery
微信小程序多列表渲染数据开关互不影响的实现
2020/06/05 Javascript
详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)
2020/07/11 Javascript
Vue-cli 移动端布局和动画使用详解
2020/08/10 Javascript
[40:03]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#1EHOME VS Archon
2016/03/02 DOTA
python中单下划线(_)和双下划线(__)的特殊用法
2019/08/29 Python
python批量修改xml属性的实现方式
2020/03/05 Python
后端开发使用pycharm的技巧(推荐)
2020/03/27 Python
Python子进程subpocess原理及用法解析
2020/07/16 Python
《藤野先生》教学反思
2014/02/19 职场文书
企业法人代表任命书
2014/06/06 职场文书
调研汇报材料范文
2014/08/17 职场文书
我的中国梦演讲稿300字
2014/08/19 职场文书
2014高中生入党思想汇报范文
2014/09/13 职场文书
贫困证明模板(3篇)
2014/09/16 职场文书
旷课检讨书范文
2015/01/27 职场文书
个人自荐书范文
2015/03/09 职场文书
公司老总年会致辞
2015/07/30 职场文书
vue 实现弹窗关闭后刷新效果
2022/04/08 Vue.js