MongoDB 3.4 ha introducido $facet
agregación
que procesa varias canalizaciones de agregación dentro de una sola etapa en el mismo conjunto de documentos de entrada.
Usando $facet
y $group
puede encontrar documentos con $limit
y puede obtener el recuento total.
Puede usar la siguiente agregación en mongodb 3.4
db.collection.aggregate([
{ "$facet": {
"totalData": [
{ "$match": { }},
{ "$skip": 10 },
{ "$limit": 10 }
],
"totalCount": [
{ "$group": {
"_id": null,
"count": { "$sum": 1 }
}}
]
}}
])
Incluso puedes usar $count
agregación que se ha introducido en mongodb 3.6 .
Puede usar la siguiente agregación en mongodb 3.6
db.collection.aggregate([
{ "$facet": {
"totalData": [
{ "$match": { }},
{ "$skip": 10 },
{ "$limit": 10 }
],
"totalCount": [
{ "$count": "count" }
]
}}
])