Python操作MongoDB详解及实例

 更新时间:2017年05月18日 09:57:11   作者:听风的小猪  
这篇文章主要介绍了Python操作MongoDB详解及实例的相关资料,需要的朋友可以参考下

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操作就不是问题。

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • Label Propagation算法原理示例解析

    Label Propagation算法原理示例解析

    这篇文章主要为大家介绍了Label Propagation算法原理示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Python可变对象与不可变对象原理解析

    Python可变对象与不可变对象原理解析

    这篇文章主要介绍了Python可变对象与不可变对象原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Pygame实战练习之保护单身狗游戏

    Pygame实战练习之保护单身狗游戏

    下面这篇文章主要给大家介绍了关于如何利用python写一个简单的由经典躲避类益智小游戏修改的保护单身狗游戏的相关资料,需要的朋友可以参考下
    2021-09-09
  • 常用python爬虫库介绍与简要说明

    常用python爬虫库介绍与简要说明

    本文介绍了一些常用的python爬虫库其中包括python网络库,python网络爬虫框架,python HTML解析,python文本处理,python 自然语言处理,python 浏览器模拟等各种常用的python库
    2020-01-01
  • 使用Python操作MySQL的小技巧

    使用Python操作MySQL的小技巧

    这篇文章主要介绍了使用Python操作MySQL的小技巧,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-09-09
  • Django在win10下的安装并创建工程

    Django在win10下的安装并创建工程

    本篇文章主要介绍了Django在win10下的安装并创建工程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • 使用pycharm进行绘图,图片无法显示的解决

    使用pycharm进行绘图,图片无法显示的解决

    这篇文章主要介绍了使用pycharm进行绘图,图片无法显示的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Python实现的爬取豆瓣电影信息功能案例

    Python实现的爬取豆瓣电影信息功能案例

    这篇文章主要介绍了Python实现的爬取豆瓣电影信息功能,结合具体实例形式分析了Python基于requests库的爬虫使用技巧,需要的朋友可以参考下
    2019-09-09
  • 基于Python的接口测试框架实例

    基于Python的接口测试框架实例

    下面小编就为大家带来一篇基于Python的接口测试框架实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • Pandas如何将表格的前几行生成html实战案例

    Pandas如何将表格的前几行生成html实战案例

    这篇文章主要介绍了Pandas如何将表格的前几行生成html实战案例,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08

最新评论