Mongodb 3.4 đã giới thiệu $facet tổng hợp
xử lý nhiều đường ống tổng hợp trong một giai đoạn trên cùng một bộ tài liệu đầu vào.
Sử dụng $facet và $group bạn có thể tìm tài liệu bằng $limit và có thể nhận được tổng số.
Bạn có thể sử dụng tổng hợp bên dưới trong mongodb 3.4
db.collection.aggregate([
{ "$facet": {
"totalData": [
{ "$match": { }},
{ "$skip": 10 },
{ "$limit": 10 }
],
"totalCount": [
{ "$group": {
"_id": null,
"count": { "$sum": 1 }
}}
]
}}
])
Thậm chí bạn có thể sử dụng $count tổng hợp đã được giới thiệu trong mongodb 3.6 .
Bạn có thể sử dụng tổng hợp bên dưới trong mongodb 3.6
db.collection.aggregate([
{ "$facet": {
"totalData": [
{ "$match": { }},
{ "$skip": 10 },
{ "$limit": 10 }
],
"totalCount": [
{ "$count": "count" }
]
}}
])