Mongodb 3.4 $facet
を導入しました 集計
これは、同じ入力ドキュメントのセットで単一のステージ内の複数の集約パイプラインを処理します。
$facet
を使用する および$group
$limit
のドキュメントを見つけることができます 合計数を取得できます。
以下の集計をmongodb3.4で使用できます
db.collection.aggregate([
{ "$facet": {
"totalData": [
{ "$match": { }},
{ "$skip": 10 },
{ "$limit": 10 }
],
"totalCount": [
{ "$group": {
"_id": null,
"count": { "$sum": 1 }
}}
]
}}
])
$count
を使用することもできます mongodb 3.6で導入されたアグリゲーション 。
以下の集計をmongodb3.6で使用できます
db.collection.aggregate([
{ "$facet": {
"totalData": [
{ "$match": { }},
{ "$skip": 10 },
{ "$limit": 10 }
],
"totalCount": [
{ "$count": "count" }
]
}}
])