Mongodb 3.4 hat $facet
eingeführt Zusammenfassung
die mehrere Aggregations-Pipelines innerhalb einer einzigen Stufe auf demselben Satz von Eingabedokumenten verarbeitet.
Verwenden von $facet
und $group
Sie können Dokumente mit $limit
finden und kann die Gesamtzahl abrufen.
Sie können die folgende Aggregation in mongodb 3.4 verwenden
db.collection.aggregate([
{ "$facet": {
"totalData": [
{ "$match": { }},
{ "$skip": 10 },
{ "$limit": 10 }
],
"totalCount": [
{ "$group": {
"_id": null,
"count": { "$sum": 1 }
}}
]
}}
])
Auch Sie können $count
verwenden Aggregation, die in mongodb 3.6 eingeführt wurde .
Sie können die folgende Aggregation in mongodb 3.6 verwenden
db.collection.aggregate([
{ "$facet": {
"totalData": [
{ "$match": { }},
{ "$skip": 10 },
{ "$limit": 10 }
],
"totalCount": [
{ "$count": "count" }
]
}}
])