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 21 Python
详解python 字符串和日期之间转换 StringAndDate
May 04 Python
python+mongodb数据抓取详细介绍
Oct 25 Python
Python实现PS图像明亮度调整效果示例
Jan 23 Python
基于python进行桶排序与基数排序的总结
May 29 Python
djang常用查询SQL语句的使用代码
Feb 15 Python
对PyQt5基本窗口控件 QMainWindow的使用详解
Jun 19 Python
python3实现猜数字游戏
Dec 07 Python
Python面向对象之多态原理与用法案例分析
Dec 30 Python
python json 递归打印所有json子节点信息的例子
Feb 27 Python
Python常用断言函数实例汇总
Nov 30 Python
用python实现一个简单的验证码
Dec 09 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
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
php curl发送请求实例方法
2019/08/01 PHP
php进行md5加密简单实例方法
2019/09/19 PHP
JAVASCRIPT 对象的创建与使用
2021/03/09 Javascript
Js 获取当前日期时间及其它操作实现代码
2021/03/04 Javascript
比较不错的JS/JQuery显示或隐藏文本的方法
2014/02/13 Javascript
document.addEventListener使用介绍
2014/03/07 Javascript
原生JS封装Ajax插件(同域、jsonp跨域)
2016/05/03 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
2016/06/25 Javascript
BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
2016/12/01 Javascript
JS正则表达式验证账号、手机号、电话和邮箱是否合法
2017/03/08 Javascript
Angularjs在360兼容模式下取数据缓存问题的解决办法
2017/06/22 Javascript
详谈表单重复提交的三种情况及解决方法
2017/08/16 Javascript
angularjs实现天气预报功能
2020/06/16 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
2017/12/14 Javascript
Django与Vue语法的冲突问题完美解决方法
2017/12/14 Javascript
js回文数的4种判断方法示例
2019/06/04 Javascript
vuex 实现getter值赋值给vue组件里的data示例
2019/11/05 Javascript
JavaScript交换变量常用4种方法解析
2020/09/02 Javascript
Python中实现参数类型检查的简单方法
2015/04/21 Python
python 网络编程常用代码段
2016/08/28 Python
pandas去重复行并分类汇总的实现方法
2019/01/29 Python
python selenium执行所有测试用例并生成报告的方法
2019/02/13 Python
在pycharm中显示python画的图方法
2019/08/31 Python
Pytorch 实现focal_loss 多类别和二分类示例
2020/01/14 Python
html5标记文字_动力节点Java学院整理
2017/07/11 HTML / CSS
html5实现图片转圈的动画效果——让页面动起来
2017/10/16 HTML / CSS
中国酒类在线零售网站:酒仙网
2016/08/20 全球购物
GANT英国官方网上商店:甘特衬衫
2018/02/06 全球购物
将"引用"作为函数参数有哪些特点
2013/04/05 面试题
爱耳日活动总结
2014/04/30 职场文书
2014坚持党风廉政建设思想汇报
2014/09/18 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
孙振耀退休感言
2015/08/01 职场文书
员工工作心得体会
2019/05/07 职场文书
FP-growth算法发现频繁项集——构建FP树
2021/06/24 Python