Ruby on rails mongo中的关系查询

Ruby on rails mongo中的关系查询,ruby-on-rails,ruby,mongodb,mongoid,Ruby On Rails,Ruby,Mongodb,Mongoid,我的应用程序中有以下型号,我正在使用mongoid 用户、帐户、办公室和潜在客户 一个用户有许多帐户,并且一个帐户属于一个用户 一个账户有许多办事处,办事处属于一个账户 办公室有很多潜在客户,潜在客户属于办公室 现在我想进行查询,以便获得属于某个用户的帐户办公室的线索,如` @accounts = Account.where(:user => user) 现在我想得到属于@accounts的办公室的线索。有没有一个像样的方法来完成它?或者我必须遍历每个帐户,找到属于该帐户的办公室,然后最

我的应用程序中有以下型号,我正在使用mongoid

用户、帐户、办公室和潜在客户 一个用户有许多帐户,并且一个帐户属于一个用户 一个账户有许多办事处,办事处属于一个账户 办公室有很多潜在客户,潜在客户属于办公室

现在我想进行查询,以便获得属于某个用户的帐户办公室的线索,如`

@accounts = Account.where(:user => user)
现在我想得到属于@accounts的办公室的线索。有没有一个像样的方法来完成它?或者我必须遍历每个帐户,找到属于该帐户的办公室,然后最终找到潜在客户

我可以将客户信息保存在Lead本身中,以便它们同时包含客户和办公室信息,以便我可以一次查询。但这是正确的方法吗

建议?

< P>如果这些是“包含”关系,考虑嵌入而不是链接。例如,如果所有潜在客户都属于一个办公室,您可以将其嵌入其中:

{办公室:“…”,线索:[{…},{…}]}

同样,办公室也可以嵌入到账户文档中。等等

但是,上述操作是否合理取决于您计划执行的操作(如果完全嵌入查询,如“给我所有线索”,如果需要更多工作)。此外,最大文档大小为16MB

可能嵌入和链接的某种组合是合适的。当链接时,您必须像您提到的那样在客户端进行链接。请参阅mongodb.org上的和页面