Mongodb 3.4 introduziu
$facet
agregação
que processa vários pipelines de agregação em um único estágio no mesmo conjunto de documentos de entrada.
Usando
$facet
e $group
você pode encontrar documentos com $limit
e pode obter a contagem total. Você pode usar a agregação abaixo no mongodb 3.4
db.collection.aggregate([
{ "$facet": {
"totalData": [
{ "$match": { }},
{ "$skip": 10 },
{ "$limit": 10 }
],
"totalCount": [
{ "$group": {
"_id": null,
"count": { "$sum": 1 }
}}
]
}}
])
Até você pode usar
$count
agregação que foi introduzida no mongodb 3.6 . Você pode usar a agregação abaixo no mongodb 3.6
db.collection.aggregate([
{ "$facet": {
"totalData": [
{ "$match": { }},
{ "$skip": 10 },
{ "$limit": 10 }
],
"totalCount": [
{ "$count": "count" }
]
}}
])