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运行的17个时新手常见错误小结
Aug 07 Python
python爬虫入门教程之点点美女图片爬虫代码分享
Sep 02 Python
在Python中使用matplotlib模块绘制数据图的示例
May 04 Python
使用Python求解最大公约数的实现方法
Aug 20 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
Jul 10 Python
详解如何用django实现redirect的几种方法总结
Nov 22 Python
关于Pycharm无法debug问题的总结
Jan 19 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
Jul 11 Python
python自动发微信监控报警
Sep 06 Python
Django 实现xadmin后台菜单改为中文
Nov 15 Python
PyCharm设置注释字体颜色以及是否倾斜的操作
Sep 16 Python
快速解决pymongo操作mongodb的时区问题
Dec 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
终于听上了直流胆调频
2021/03/02 无线电
php制作中间带自己定义图片二维码的方法
2014/01/27 PHP
ThinkPHP之getField详解
2014/06/20 PHP
php抓取并保存网站图片的实现代码
2015/10/28 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
2016/04/27 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
js实现的网页颜色代码表全集
2007/07/17 Javascript
可以把编码转换成 gb2312编码lib.UTF8toGB2312.js
2007/08/21 Javascript
formvalidator验证插件中有关ajax验证问题
2013/01/04 Javascript
JQuery写动态树示例代码
2013/07/31 Javascript
Javascript毫秒数用法实例
2015/02/05 Javascript
JQuery记住用户名密码实现下次自动登录功能
2015/04/27 Javascript
又一款js时钟!transform实现时钟效果
2016/08/15 Javascript
js H5 canvas投篮小游戏
2016/08/18 Javascript
微信小程序 教程之数据绑定
2016/10/18 Javascript
js 奇葩技巧之隐藏代码
2017/08/11 Javascript
vue-resource请求实现http登录拦截或者路由拦截的方法
2018/07/11 Javascript
Node.js折腾记一:读指定文件夹,输出该文件夹的文件树详解
2019/04/20 Javascript
详解在Javascript中进行面向切面编程
2019/04/28 Javascript
Vue实现点击显示不同图片的效果
2019/08/10 Javascript
package.json配置文件构成详解
2019/08/27 Javascript
js实现微信聊天界面
2020/08/09 Javascript
Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
2020/09/01 Javascript
Vue基于localStorage存储信息代码实例
2020/11/16 Javascript
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
详解python里的命名规范
2018/07/16 Python
pytorch 改变tensor尺寸的实现
2020/01/03 Python
Python使用tkinter实现小时钟效果
2021/02/22 Python
html5 拖拽上传图片实例演示
2013/04/01 HTML / CSS
《窗前的气球》教学反思
2014/04/07 职场文书
尊老爱亲美德少年事迹材料
2014/08/14 职场文书
个人学习党的群众路线教育实践活动心得体会
2014/11/05 职场文书
Python中常见的反爬机制及其破解方法总结
2021/06/10 Python
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis
Spring Boot两种全局配置和两种注解的操作方法
2021/06/29 Java/Android