Exemple #1
0
def cate_distributed():
    pipeline = [
        {'$group': {'_id': {'$slice': ['$cates', 2, 1]}, 'counts': {'$sum': 1}}},
        {'$sort': {'counts': -1}}
    ]
    for i in ItemInfo._get_collection().aggregate(pipeline):
        yield [i['_id'][0], i['counts']]
Exemple #2
0
def sale_one_day():
    pipeline = [
        {'$match': {'time': 1}},
        {'$group': {'_id': {'$slice': ['$area', 1]}, 'counts': {'$sum': 1}}},
        {'$sort': {'counts': -1}}
    ]
    for i in ItemInfo._get_collection().aggregate(pipeline):
        yield [i['_id'][0], i['counts']]
Exemple #3
0
def top_cates():
    pipeline = [
        {'$group': {'_id': {'$slice': ['$cates', 2, 1]}, 'counts': {'$sum': 1}}}
    ]
    for i in ItemInfo._get_collection().aggregate(pipeline):
        data = {
            'name': i['_id'][0],
            'y': i['counts'],
        }
        yield data
Exemple #4
0
def top_area():
    pipeline = [
        {'$group': {'_id': {'$slice': ['$area', 1]}, 'counts':{'$sum': 1}}},
        {'$sort': {'counts': -1}}
    ]
    for i in ItemInfo._get_collection().aggregate(pipeline):
        data = {
            'name': i['_id'][0],
            'y': i['counts']
        }
        yield data
Exemple #5
0
def top_x(date1, date2, area, limit):
    pipeline = [
        {'$match': {'$and': [{'pub_date': {'$gt': date1, '$lt': date2}}, {'area': {'$all': area}}]}},
        {'$group': {'_id': {'$slice': ['$cates', 2, 1]}, 'counts': {'$sum': 1}}},
        {'$sort': {'counts': -1}},
        {'$limit': limit}
    ]
    for i in ItemInfo._get_collection().aggregate(pipeline):
        data = {
            'name': i['_id'][0],
            'data': [i['counts']],
            # 'type': 'column'
        }
        yield data