Python操作MongoDB详解及实例
发布时间:2020-12-17 08:23:56 所属栏目:Python 来源:网络整理
导读:Python操作MongoDB详解及实例 由于需要在页面展示MongoDB库里的数据,所以考虑使用python操作MongoDB,PyMongo模块是Python对MongoDB操作的接口包,所以首页安装pymongo。 1、安装命令 pip install pymongo 2、查询命令: import pymongo# 创建连接client =
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": 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操作就不是问题。 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |