def get_stats(self, where, group_by=None): q = Query() for k, v in where.items(): q.where_eq(k, v) map(q.group_by, group_by or []) result_set = q.execute(self.collection) results = list(result_set) if len(results) != 1: print(results) raise ValueError('Sanity check failed, number of results is not 1') """ :type result: Result """ result = results[0] return result.stats