心海恋歌 发表于 2017-12-15 20:35:41

使用highcharts显示mongodb中的数据

def data_gen(cates):  pipeline
= [  {
'$project' : { 'quantity': 1,'province': 1,'saledate': 1,'category':1 , 'price':1}},  {
'$match':{'$and':[  {
'category':{'$in':cates}},  {
'province':{'$nin':['江苏']}}  ]}},
# 先统计每天的销售额,注意$multiply函数的用法  {'$group':{'_id':'$saledate','sum_quantity':{'$sum':{ '$multiply':['$price','$quantity'] }}}},
  # 在上面的基础上继续分组,构造月份作为分组依据,注意上面的$saledate变为$_id,sum_quantity变为$sum_quantity,前面有$符号
  {'$group':{'_id':{'$concat': [ {'$arrayElemAt': [ {'$split': ['$_id', '-']}, 0 ]},'-',{'$arrayElemAt': [ {'$split': ['$_id', '-']}, 1 ]}]},'sumend':{'$sum':'$sum_quantity'}}},
  {'$sort':{'sumend':1}}
  
]
  for i in salesnew.aggregate(pipeline):
  data = {
  'name': i['_id'],
  'data': ],
  'type': 'column'
  }
  

  yield data
  

  
for i in data_gen(['水果','蔬菜','粮食']):
  print(i)
  

  
series = )]
  
options = {
  'chart'   : {'zoomType':'xy'},
  'title'   : {'text': '销售数量'},
  'subtitle': {'text': '图表'},
  'yAxis'   : {'title': {'text': '数量'}}
  }
  

  
charts.plot(series,options=options,show='inline')
页: [1]
查看完整版本: 使用highcharts显示mongodb中的数据