You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

mongoose-aggregate-pagination-v2分页异常问题求助

问题解决方法

你的问题出在错误传递了aggregatePaginate的参数:

你当前的代码先执行了await Topic.aggregate([{ $match: ... }]),得到的是已经过滤完成的文档数组,但aggregatePaginate的第一个参数需要的是聚合管道数组,而不是已经执行完毕的聚合结果。当你把已执行的结果传给它时,插件会忽略这个无效参数,直接对整个Topic集合执行分页查询,所以返回了所有文档。

正确代码写法

直接将聚合管道数组传入aggregatePaginate,不需要提前执行aggregate:

const result = await Topic.aggregatePaginate(
  [{ $match: { author: user._id } }],
  { page: 1, limit: 2 }
);

补充说明

aggregatePaginate内部会自行处理聚合管道的执行与分页逻辑,你只需要提供未执行的聚合管道定义即可。之前的写法相当于绕开了插件的分页逻辑,直接把完整结果传进去,但插件并不支持这种用法,导致出现不符合预期的结果。

内容的提问来源于stack exchange,提问作者Sunny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 10:15:57