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 client使用http post 到server端的代码
Feb 10 Python
使用python分析git log日志示例
Feb 27 Python
跟老齐学Python之Python安装
Sep 12 Python
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
May 22 Python
python实现简单购物商城
May 21 Python
Python常用时间操作总结【取得当前时间、时间函数、应用等】
May 11 Python
对Python信号处理模块signal详解
Jan 09 Python
Python一个简单的通信程序(客户端 服务器)
Mar 06 Python
基于python3监控服务器状态进行邮件报警
Oct 19 Python
Python *args和**kwargs用法实例解析
Mar 02 Python
Python根据字符串调用函数过程解析
Nov 05 Python
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
Nov 11 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 图片加水印与上传图片加水印php类
2010/05/12 PHP
ThinkPHP空模块和空操作详解
2014/06/30 PHP
php抽象方法和抽象类实例分析
2016/12/07 PHP
php+mysql+jquery实现日历签到功能
2017/02/27 PHP
php微信公众号开发之现金红包
2018/04/16 PHP
PHP之header函数详解
2021/03/02 PHP
javascript闭包的理解和实例
2010/08/12 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
js实现带圆角的多级下拉菜单效果
2015/08/28 Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
2016/04/01 Javascript
从零学习node.js之详解异步控制工具async(八)
2017/02/27 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
2017/03/31 Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
js实现简易计算器功能
2019/10/18 Javascript
js实现简单掷骰子小游戏
2019/10/24 Javascript
javascript利用canvas实现鼠标拖拽功能
2020/07/23 Javascript
Node.js web 应用如何封装到Docker容器中
2020/09/01 Javascript
[04:44]显微镜下的DOTA2第二期——你所没有注意到的细节
2014/06/20 DOTA
Python面向对象编程基础解析(一)
2017/10/26 Python
python批量复制图片到另一个文件夹
2018/09/17 Python
Python求一批字符串的最长公共前缀算法示例
2019/03/02 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
2019/06/12 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
Pycharm安装python库的方法
2020/11/24 Python
plt.figure()参数使用详解及运行演示
2021/01/08 Python
俄罗斯香水和化妆品在线商店:Aroma-butik
2020/02/28 全球购物
介绍一下Ruby的特点
2013/01/20 面试题
建筑个人求职信范文
2014/01/25 职场文书
文明之星事迹材料
2014/05/09 职场文书
5s标语大全
2014/06/23 职场文书
学生考试舞弊检讨书
2015/01/01 职场文书
《蚂蚁和蝈蝈》教学反思
2016/02/22 职场文书
js Proxy的原理详解
2021/05/25 Javascript
用JS实现飞机大战小游戏
2021/06/09 Javascript
tomcat默认最大连接数及相关调整方法
2022/05/06 Servers