繁体   English   中英

如何在一个聚合管道阶段进行计数并在稍后阶段使用它?

[英]How do I take a count in one aggregation pipeline stage and use it in a later stage?

在聚合管道的最后阶段,我想从早期阶段返回“总数”。 $unwind ,管道会过滤掉我不想返回给用户的文档。 除了返回相关文档之外,我还想返回“未过滤的总数”计数。 我怎么做?

这就像我想要一个阶段(靠近管道的起点),它除了设置一个变量之外什么都不做——该阶段的文档计数。 然后在我的最后阶段,我希望引用该变量,以便我可以将 "totalUnfiltered": {count value} 添加到$project

文档中唯一看起来相关的是$let表达式。 但我认为这只是为了设置一个在当前阶段使用的变量。

我使用$facet解决了这个问题,它可以让你将一个阶段分成几个部分,每个部分对应一个阶段列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM