【发布时间】:2016-11-14 17:08:43
【问题描述】:
我有两个集合,我想从两个集合中获取字段,所以我在聚合管道中使用$lookup。
这很好用,并返回所有带有额外字段的文档,一个包含 0 或 1 个元素的数组(一个对象)。如果为 0 个元素,则意味着 JOIN(在 SQL 世界中)没有返回任何内容。如果是 1 个元素,则表示对象中的元素与第二个集合的字段匹配。
现在我有了这些结果,我想使用$match 来过滤一些结果。
为了使用$match,我首先想在那个新的额外字段上使用$unwind,以便提取数组。问题是一旦我插入$unwind 阶段,查询的结果就是一个文档。
为什么会这样?我怎样才能$unwind 然后$match 我从$lookup 阶段获得的所有文件?
【问题讨论】:
标签: mongodb aggregation-framework