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标准库urllib2的一些使用细节总结
Mar 16 Python
Python爬取十篇新闻统计TF-IDF
Jan 03 Python
pandas series序列转化为星期几的实例
Apr 11 Python
Python使用logging模块实现打印log到指定文件的方法
Sep 05 Python
PyCharm的设置方法和第一个Python程序的建立
Jan 16 Python
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
Jul 04 Python
python 实现目录复制的三种小结
Dec 04 Python
python实现批量处理将图片粘贴到另一张图片上并保存
Dec 12 Python
Django密码存储策略分析
Jan 09 Python
快速解决jupyter启动卡死的问题
Apr 10 Python
python如何设置静态变量
Sep 07 Python
浅谈Python数学建模之线性规划
Jun 23 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中的观察者模式
2010/03/24 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
深入解析PHP内存管理之谁动了我的内存
2013/06/20 PHP
php object转数组示例
2014/01/15 PHP
php创建无限级树型菜单
2015/11/05 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
2019/10/17 PHP
jquery 插件 人性化的消息显示
2008/01/21 Javascript
基于JQuery的Pager分页器实现代码
2010/07/17 Javascript
Js 获取Gridview选中行的内容操作步骤
2013/02/05 Javascript
JS倒计时代码汇总
2014/11/25 Javascript
Bootstrap模仿起筷首页效果
2016/05/09 Javascript
jQuery使用正则表达式限制文本框只能输入数字
2016/06/18 Javascript
JS图片等比例缩放方法完整示例
2016/08/03 Javascript
jquery 中toggle的2种用法详解(推荐)
2016/09/02 Javascript
Bootstrap下拉菜单样式
2017/02/07 Javascript
js实现从左向右滑动式轮播图效果
2017/07/07 Javascript
ReactNative 之FlatList使用及踩坑封装总结
2017/11/29 Javascript
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
[02:55]含熏伴清风,风行者至宝、屠夫身心及典藏宝瓶二展示
2020/09/08 DOTA
tensorflow实现对图片的读取的示例代码
2018/02/12 Python
python利用百度AI实现文字识别功能
2018/11/27 Python
在Python中使用MongoEngine操作数据库教程实例
2019/12/03 Python
pytorch 模拟关系拟合——回归实例
2020/01/14 Python
Spring http服务远程调用实现过程解析
2020/06/11 Python
微软英国官方网站:Microsoft英国
2016/10/15 全球购物
澳大利亚制造的羊皮靴:Original UGG Boots
2017/11/13 全球购物
俄罗斯最大的在线手表商店:Bestwatch.ru
2020/01/11 全球购物
建筑毕业生自我鉴定
2013/10/18 职场文书
优秀中专生推荐信
2013/11/17 职场文书
校园摄影活动策划方案
2014/02/05 职场文书
体育馆的标语
2014/06/24 职场文书
MySQL5.7并行复制原理及实现
2021/06/03 MySQL
Python基本的内置数据类型及使用方法
2022/04/13 Python
Java数组详细介绍及相关工具类
2022/04/14 Java/Android
WinServer2012搭建DNS服务器的方法步骤
2022/06/10 Servers