mongodb - 在Mongodb聚合中获取分页结果

我正在处理大量数据,并使用mongodb聚合框架查询该数据。这是一个示例数据:

{
   "id": "1"
   "name":"abc"
},
{
   "id": "2"
   "name":"abc"
},
{
   "id": "3"
   "name":"abc"
},
...,
{
   "id": "100"
   "name":"abc"
}


所以我正在做的是一次10个结果,因此我将$ limit设置为10.但是如果我想要在id:10之后有10个结果该怎么办,即在ID为10的对象之后有10个结果,所以应该返回

{
   "id": "11"
   "name":"abc"
},
{
   "id": "12"
   "name":"abc"
},
{
   "id": "13"
   "name":"abc"
},
...(And So on till id:20)


有什么办法可以进行这种聚合查询吗?任何帮助或建议,将不胜感激。先感谢您。

最佳答案

请求结果时,在请求中传递页面大小和页码。

db.your_collection.aggregate([
    {
        "$match": {
            // your query
        }
    },
    {
        "$skip": (pageNumber - 1) * pageSize
    },
    {
        "$limit": pageSize
    }
])

或者您可以使用:
db.your_collection.find({/*your query*/}).skip((pageNumber - 1) * pageSize).limit(pageSize)