在mongoose中交叉模型查询

时间:2013-03-03 09:51:09

标签: node.js mongoose

F.e。我有三种模式:

MODELA, ModelB, ModelC

ModelA有一个包含ModelB实例ID的数组。 ModelB有一个包含ModelC实例ID的数组。

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

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

1 个答案:

答案 0 :(得分:2)

ModelBModelC是否嵌入了文档?或者他们是参考?假设它们是引用,那么您必须首先加载所有ModelA个实例,然后加载所有ModelB个实例,依此类推。不幸的是,MongoDB不支持连接,所以你无能为力(好吧,你总是可以尝试运行map / reduce)。看起来SQL数据库可能是您尝试做的任何事情的更好选择。