我如何返回有限的结果,但也返回使用猫鼬聚合(用于分页)的结果总数

时间:2018-11-21 09:39:25

标签: mongoose aggregation-framework

我正在尝试从数据库中获取一些偏移和限制的结果。

但是我也想获得没有偏移和限制的结果总数,以便我可以在我的网站上分页。

我的代码如下:

return await Room.aggregate([
    {$match: {search_condition}}, 
    // { $group: { _id: null, rooms: { $push: "$$ROOT" }, count: { $sum: 1 } } },
    { $skip: offset },
    { $limit: 10 }
]);

在当前形式下,我得到10个结果,但没有符合搜索条件的所有结果的总数。

如果我删除评论,我会得到所有结果以及所有结果的总数,这也不是我想要的。

我想要这样的东西:

[
    {
        _id: xxx,
        name: xxx,
        other_useful_info: xxx
    }
]

10次,但在底部

{
    total_results: 300
}

我正在考虑提出2个汇总请求:

一个获得10个结果

另一个获得总结果。

有更好的方法吗?

0 个答案:

没有答案