我的聚合管道中有一个 $match 阶段,类似于:
$match : { $or: [condition1, condition2, condition3]}
并且我需要能够分辨出这些条件中的哪些与 mongoDB 返回的特定文档匹配。没有两个文档可以匹配多个条件。
我认为可以实现的方法之一是,如果我可以在 $match 阶段“设置”一个字段并将其发送回我的应用程序,然后应用程序将文档映射到基于该字段匹配的条件。 所以我想要类似的东西:
$match : { $or: [condition1 + set tempField : val1, condition2 + set tempField : val2, condition3 + set tempField : val3]}
我已经浏览了 mongo 文档,但没有看到任何可以帮助我在这里的事业的东西。有谁知道我是如何实现这一目标的,或者是否有更好的方法来解决这个问题?