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制作爬虫并将抓取结果保存到excel中
Apr 06 Python
Python之文字转图片方法
May 10 Python
python实现对求解最长回文子串的动态规划算法
Jun 02 Python
python opencv实现运动检测
Jul 10 Python
Python实现基于PIL和tesseract的验证码识别功能示例
Jul 11 Python
Python可迭代对象操作示例
May 07 Python
PyTorch的深度学习入门之PyTorch安装和配置
Jun 27 Python
django使用xadmin的全局配置详解
Nov 15 Python
python实现矩阵和array数组之间的转换
Nov 29 Python
pycharm内无法import已安装的模块问题解决
Feb 12 Python
python数据预处理 :数据抽样解析
Feb 24 Python
opencv之颜色过滤只留下图片中的红色区域操作
Jun 05 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
一个图形显示IP的PHP程序代码
2007/10/19 PHP
PHP 5.0对象模型深度探索之类的静态成员
2008/03/27 PHP
php empty() 检查一个变量是否为空
2011/11/10 PHP
PHP导航下拉菜单的实现如此简单
2013/09/22 PHP
Centos6.5和Centos7 php环境搭建方法
2016/05/27 PHP
round robin权重轮循算法php实现代码
2016/05/28 PHP
浅谈PHP array_search 和 in_array 函数效率问题
2019/10/15 PHP
符合标准的js表单提交的代码
2007/09/13 Javascript
javascript操作cookie_获取与修改代码
2009/05/21 Javascript
基于jquery的图片幻灯展示源码
2012/07/15 Javascript
javascript函数式编程程序员的工具集
2015/10/11 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
2016/05/10 Javascript
Node.js中用D3.js的方法示例
2017/01/16 Javascript
JavaScript正则替换HTML标签功能示例
2017/03/02 Javascript
JS立即执行函数功能与用法分析
2019/01/15 Javascript
node.js文件操作系统实例详解
2019/11/05 Javascript
Python中os.path用法分析
2015/01/15 Python
pygame游戏之旅 添加碰撞效果的方法
2018/11/20 Python
​如何愉快地迁移到 Python 3
2019/04/28 Python
Python3.8中使用f-strings调试
2019/05/22 Python
pyqt5 从本地选择图片 并显示在label上的实例
2019/06/13 Python
pytorch中tensor.expand()和tensor.expand_as()函数详解
2019/12/27 Python
关于python pycharm中输出的内容不全的解决办法
2020/01/10 Python
Django视图、传参和forms验证操作
2020/07/15 Python
美国购买当代和现代家具网站:MODTEMPO
2018/07/20 全球购物
vue项目实现分页效果
2021/03/24 Vue.js
工程造价自荐信
2013/10/09 职场文书
主管会计岗位职责
2014/03/13 职场文书
2015年端午节国旗下演讲稿
2015/03/19 职场文书
搭讪开场白台词大全
2015/05/28 职场文书
党支部审查意见
2015/06/02 职场文书
回门宴新娘答谢词
2015/09/29 职场文书
教你做个可爱的css滑动导航条
2021/06/15 HTML / CSS
vue+iview实现手机号分段输入框
2022/03/25 Vue.js
Python自动化工具之实现Excel转Markdown表格
2022/04/08 Python
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL