在MongoDB中进行反向查询

时间:2018-08-30 09:20:03

标签: mongodb aggregation-framework

我在MongoDB中具有以下架构,其中集合是分层的并具有图结构:

A-> B-> C-> D-> E

(集合A的字段具有对集合B中一个或多个记录的引用(或引用列表),等等)

如果我需要对所有集合进行联接(同时在集合A上应用一些过滤器),则可以使用顺序$lookup$unwind对集合A进行聚合查询,因为在那里始终是从A到E的前向链接。

但是,由于从集合C到集合D的引用数量可能非常大(成千上万个),所以从D到C仅具有(单个)引用字段(而不是列表)更有意义从C到D的引用。在这种情况下,该图变为:

A-> B-> C <-D-> E

我是否仍可以对集合A进行单个查询并加入所有集合直到E? MongoDB是否有某种方式执行反向查找(从与集合C相关联的集合D中获取所有记录)?

0 个答案:

没有答案