在猫鼬中交叉模型查询

问题描述:

F.e.我有三个型号:在猫鼬中交叉模型查询

MODELA, ModelB, ModelC

MODELA有ModelB的实例ID的数组。 ModelB拥有一个带有ModelC实例的id的数组。

如何查询作为ModelA实例成员的ModelB的所有实例成员的ModelC的所有实例?

ModelA 
    ∟ [ 
     ModelB 
     ∟ [ModelC, ModelC, ModelC] 
     ModelB 
     ∟ [ModelC, ModelC, ModelC, ModelC] 
     ] 

ModelBModelC嵌入文档?或者他们是参考?假设它们是引用,那么您将必须首先加载所有ModelA实例,然后加载所有ModelB实例等。不幸的是,MongoDB不支持连接,所以你没有别的办法可以做(嗯,你总是可以尝试运行map/reduce)。无论你想要做什么,SQL数据库看起来都是更好的选择。