我正在尝试从数据库中获取一些偏移和限制的结果。
但是我也想获得没有偏移和限制的结果总数,以便我可以在我的网站上分页。
我的代码如下:
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个结果
另一个获得总结果。
有更好的方法吗?