私はモーターでこのクエリ(CLIクエリとしてほぼ正確に見えます)があります。
response = yield self.db.orders.aggregate([
{'$match': {'reader.uid': reader.get('uid'), 'status': {'$in': statuses}}},
{'$sort': {'create_datetime': -1}},
{'$project': {'_id': 1, 'status': 1, 'create_datetime': 1, 'documents': 1}},
{'$group': {
'_id': 0,
'info': {'$push': {'status': '$status', 'create_datetime': '$create_datetime', 'documents': '$documents'}},
'total': {'$sum': 1}
}},
{'$skip': skip},
{'$limit': int(limit)}
])
を$skip
と$limit
前に、ドキュメントの合計数を取得する必要があります。わからない、どのように正確に$sum
作業が、このクエリでは、私が正しい結果を得るが、私は実際_id
を渡すとき、total
値は1です:
{'$group': {
'_id': '$_id',
'info': {'$push': {'status': '$status', 'create_datetime': '$create_datetime', 'documents': '$documents'}},
'total': {'$sum': 1}
}},
私は本当の_id
、右total
値を取得したいです結果。
Mongoの初心者の方は、すべての回答が高く評価されています。
なぜあなたは_idでグループ化すると合計= 0が得られるのか分かりませんが、確かに間違いはありませんか?あなたの_idのタイプは何ですか? – sergiuz
はい、私は1、私の間違いを得る! – asyndrige