Python操作MongoDB详解及实例
由于需要在页面展示MongoDB库里的数据,所以考虑使用python操作MongoDB,PyMongo模块是Python对MongoDB操作的接口包,所以首页安装pymongo。
1、安装命令
代码如下 | 复制代码 |
pip install pymongo |
2、查询命令:
代码如下 | 复制代码 |
importpymongo
# 创建连接 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循环 fordatainsumdata: 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操作就不是问题。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:https://my.oschina.net/zhangyangyang/blog/759711
创造与魔法 安卓版v1.0.0750
创造与魔法是一款开放世界手游,在游戏中玩家可探索这个奇妙的世
创造与魔法修改版 最新版v1.0.0750
创造与魔法无限点券版是款探索冒险游戏,该款游戏的操作还是蛮自
战争与文明官方版本 安卓版v1.7.16
战争与文明是一款由上海邮通科技有限公司开发的战争策略游戏,这
迷你世界0元领皮肤无限迷你币版 最新安卓版v1.43.0
迷你世界0元购买皮肤版是这款开放沙盒冒险建造游戏的特殊破解版
创造与魔法无限经验版 安卓版v1.0.0750
创造与魔法无限经验版是款可以改造环境,整个游戏的自由度还是蛮