Mongodb 3.4 a introduit $facet
agrégation
qui traite plusieurs pipelines d'agrégation en une seule étape sur le même ensemble de documents d'entrée.
Utiliser $facet
et $group
vous pouvez trouver des documents avec $limit
et peut obtenir le nombre total.
Vous pouvez utiliser l'agrégation ci-dessous dans mongodb 3.4
db.collection.aggregate([
{ "$facet": {
"totalData": [
{ "$match": { }},
{ "$skip": 10 },
{ "$limit": 10 }
],
"totalCount": [
{ "$group": {
"_id": null,
"count": { "$sum": 1 }
}}
]
}}
])
Même vous pouvez utiliser $count
agrégation qui a été introduite dans mongodb 3.6 .
Vous pouvez utiliser l'agrégation ci-dessous dans mongodb 3.6
db.collection.aggregate([
{ "$facet": {
"totalData": [
{ "$match": { }},
{ "$skip": 10 },
{ "$limit": 10 }
],
"totalCount": [
{ "$count": "count" }
]
}}
])