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进阶教程之异常处理
Aug 30 Python
Python 常用 PEP8 编码规范详解
Jan 22 Python
Python自定义线程池实现方法分析
Feb 07 Python
Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例
Mar 22 Python
Jacobi迭代算法的Python实现详解
Jun 29 Python
python取均匀不重复的随机数方式
Nov 27 Python
Python log模块logging记录打印用法解析
Jan 20 Python
python程序文件扩展名知识点详解
Feb 27 Python
TensorFlow固化模型的实现操作
May 26 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
May 27 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
Jun 23 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
Jun 28 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
《魔兽争霸3:重制版》翻车了?你想要的我们都没有
2019/11/07 魔兽争霸
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
2012/07/16 PHP
php不用正则验证真假身份证
2013/11/06 PHP
php+mysql实现无限级分类
2015/11/11 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
从URL中提取参数与将对象转换为URL查询参数的实现代码
2012/01/12 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
Extjs根据条件设置表格某行背景色示例
2014/07/23 Javascript
深入理解Angularjs中的$resource服务
2016/12/31 Javascript
完美的js图片轮换效果
2017/02/05 Javascript
Mongoose经常返回e11000 error的原因分析
2017/03/29 Javascript
jquery.form.js异步提交表单详解
2017/04/25 jQuery
基于JavaScript表单脚本(详解)
2017/10/18 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
2017/11/09 Javascript
Vue实现购物车场景下的应用
2017/11/27 Javascript
JavaScript中set与get方法用法示例
2018/08/15 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
2018/09/12 Javascript
p5.js临摹动态图形的方法
2019/10/23 Javascript
vue-cli单页面预渲染seo-prerender-spa-plugin操作
2020/08/10 Javascript
[04:26]DOTA2上海特锦赛小组赛第二日 TOP10精彩集锦
2016/02/27 DOTA
python调用shell的方法
2013/11/20 Python
windows下wxPython开发环境安装与配置方法
2014/06/28 Python
python数据结构之列表和元组的详解
2017/09/23 Python
Python pyinotify日志监控系统处理日志的方法
2018/03/08 Python
Flask使用Pyecharts在单个页面展示多个图表的方法
2019/08/05 Python
tensorflow生成多个tfrecord文件实例
2020/02/17 Python
python 工具 字符串转numpy浮点数组的实现
2020/03/14 Python
基于Python组装jmx并调用JMeter实现压力测试
2020/11/03 Python
Python爬虫后获取重定向url的两种方法
2021/01/19 Python
阿迪达斯西班牙官方网站:adidas西班牙
2016/07/21 全球购物
办公室主任职责范文
2013/11/08 职场文书
法学毕业生自我鉴定
2014/01/31 职场文书
档案信息化建设方案
2014/05/16 职场文书
小学安全工作汇报材料
2014/08/19 职场文书
技术支持岗位职责
2015/02/13 职场文书
TV动画「神渣☆爱豆」公开第一弹主视觉图
2022/03/21 日漫