原始代码
def ioBandwidth(request):
beginDate = request.GET.get("beginDate")
collection = getCollection()
data = collection.find().sort("InsertDate",pymongo.ASCENDING)
mscombi2d.categories = {"category": [{"label":time.strftime("%H:%M",time.strptime(d["InsertDate"],"%Y-%m-%d %H:%M:%S"))} for d in data]}
data.rewind()#因为开始是用find返回的,所以是游标,取完后要回退到开始才能重新取
temp = data.clone()#因为后面有两次,只能先把游标拷贝,以方便后面的取值
mscombi2d.dataset = [
{"seriesname": u"入带宽", "parentyaxis": "P", "color": "5a885e","renderas":"Area",
"data": [{"value": (d["InBandwidth"])} for d in data]
},
{"seriesname": u"出带宽", "parentyaxis": "S", "renderas": "Line", "color": "dca657", "anchorbgcolor": "dca657",
"data": [{"value": (d["OutBandwidth"])} for d in temp]
}
]
res = json.dumps(mscombi2d.to_dict(), ensure_ascii=False, sort_keys=True, indent=4)
return HttpResponse(res)
修改后代码
def ioBandwidth(request):
beginDate = request.GET.get("beginDate")
collection = getCollection()
data = [d for d in collection.find()]#把游标内数据存入list
mscombi2d = MSCombi2D(u"大节点带宽",beginDate)
mscombi2d.categories = {"category": []}
mscombi2d.dataset = [
{"seriesname": u"入带宽", "parentyaxis": "P", "color": "5a885e","renderas":"Area",
"data": []
},
{"seriesname": u"出带宽", "parentyaxis": "S", "renderas": "Line", "color": "dca657", "anchorbgcolor": "dca657",
"data":[]
}
]
labels = []#时间标签
inband = []#入带宽
outband = []#出带宽
for d in data:
labels.append({"label":time.strftime("%H:%M",time.strptime(d["InsertDate"],"%Y-%m-%d %H:%M:%S"))})
inband.append({"value":"%s"%(d["InBandwidth"])})
outband.append({"value":"%s"%(d["OutBandwidth"])})
mscombi2d.dataset[0]["data"] = inband
mscombi2d.dataset[1]["data"] = outband
res = json.dumps(mscombi2d.to_dict(), ensure_ascii=False, sort_keys=True, indent=4)
return HttpResponse(res)
1)从游标取出数据存入list,不需要再rewind和clone了
2)只用了一次循环,不像前面循环了三次。
3)查找用索引,而不要用sort
分享到:
相关推荐
Python MongoDB 应用开发,构建高效稳定数据库应用系统
用于快速探测未授权MongoDB数据库结构,取第一条内容,并统计数据数量
mongodb测试数据,学习增删改查等,或是用于性能测试
基于树莓派的门禁管理系统源码+项目说明(技术点:树莓派、RFID、Django、Flask、MongoDB)(python).zip基于树莓派的门禁管理系统源码+项目说明(树莓派、RFID、Django、Flask、MongoDB)(python).zip基于树莓派...
将mongodb矢量数据在geoserver中发布;将mongodb矢量数据在geoserver中发布
python脚本对mongodb数据库进行本地全量备份,获取oplog时间戳,然后每天定时进行增量备份,已验证windows和linux
MongoDB大数据处理权威指南 MongoDB大数据处理权威指南 MongoDB大数据处理权威指南
Node.js 实践: 使用 MongoDB 存储数据 MongoDB命令行工具的使用 在项目中如何有效组织和使用Mongoose
python爬虫,Scrapy抓手机App数据并存入MongoDB(今日头条)python爬虫,Scrapy抓手机App数据并存入MongoDB(今日头条)python爬虫,Scrapy抓手机App数据并存入MongoDB(今日头条)python爬虫,Scrapy抓手机App数据...
MongoDB Java操作大全 源代码 实例
MongoDB and Python Patterns and processes for the popular document-oriented database
MongoDB multiple Data center,官方推荐的指导文档。
[奥莱理] 基于 MongoDB 的 Python 应用开发 (英文版) [奥莱理] MongoDB and Python Patterns and processes for the popular document-oriented database (E-Book) ☆ 出版信息:☆ [作者信息] Niall O'Higgins ...
同步MongoDB数据到ElasticSearch,支持全量同步、增量同步、实时同步,支持全操作,支持中间数据处理
python开发,基于flask-restful 的中小型项目,restful风格API接口开发实例,以mongodb作为数据库 python开发,基于flask-restful 的中小型项目,restful风格API接口开发实例,以mongodb作为数据库python开发,基于...
通过python语言mongodb数据库惊醒操作,包括连接、上传、下载等操作
MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化...
MongoDB基本操作之Python篇 连接数据库 MongoClient VS Connection
MongoDB_and_Python.pdf