# coding=utf-8 from base import init_env from bson import ObjectId init_env(False) from apilib.monetary import RMB from apps.web.report.models import DealerDailyStat from apps.web.user.models import ConsumeRecord from apps.web.dealer.define import DEALER_INCOME_SOURCE dealerId = ObjectId("5b9ae99ad89a177846459999") consur = DealerDailyStat.get_collection().aggregate([ # 建立筛选条件 { "$match": { "dealerId": dealerId } }, # 将日期字符串转换为date类型 { "$project": { "date": {"$dateFromString": {"dateString": "$date"}}, "daily": 1 } }, # 获取年份 { "$project": { "month": {"$month": "$date"}, "year": {"$year": "$date"}, "daily": 1 }, }, # 最后一步是分组 # { # "$group": DealerDailyStat.monthGroup() # } ]) # for _ in consur: # print _ # # from pprint import pprint # pprint(DealerDailyStat.monthGroup()) import time from pprint import pprint now = time.time() stats = DealerDailyStat.group_by_month("2020-01", {"dealerId": dealerId}, "consumption") pprint(stats)