如何创建mongoose的Aggregate对象的副本?

时间:2016-01-10 12:21:42

标签: javascript node.js mongodb mongoose

我需要一种方法来复制和动态修改我对数据库的请求。使用常规mongoose Query objects,我可以使用x = query.toConstructor()创建查询的副本,然后使用其他参数触发多个请求,例如:

var sample = x().limit(5);
var totalCount = x().count();

然而,猫鼬Aggregate objects缺少toConstructor功能。有没有办法用Aggregate对象实现相同的结果?

1 个答案:

答案 0 :(得分:0)

以下解决方案对我来说效果很好,尽管效果不是很好。

const withoutId = Model.aggregate().project({ _id: false });
const totalCount = Model.aggregate(withoutId.pipeline()).count('count');

希望这至少对其他人有帮助。