使用Mongoid树在rails中的多对多关系?

时间:2011-10-03 12:03:41

标签: ruby-on-rails mongodb mongoid

我只是想通过mongoid和rails寻求关于数据库设计的一些建议。

如果我有复杂的对象需要能够相互引用,那么这是一个合适的解决方案。

class Tree
  include Mongoid::Document
  include Mongoid::Tree
end

class Group < Tree
end

class People < Tree
end

class Cars < Tree
end

etc...

所以他们都可以相互拥有,是兄弟姐妹或是孩子。这会改善性能,因为它们都在同一个系列中吗?相比之下,如果我使用说2,3或4模型之间的habtm关系。不完全确定在同一集合中调用的单独模型是更快还是适当的设计。

我尝试这种设计的主要原因是因为我正在阅读nosql背后的想法是使用nest对象来最小化对数据库的调用。与单独的集合相比,引用同一集合中的子对象会有什么不同吗?甚至跨多个馆藏?

这里有几个问题,但希望有人可以帮助我指出正确的方向:)

1 个答案:

答案 0 :(得分:1)

是的,不错的选择!您希望像这样使用继承将它们存储在同一个集合中。 您只需要访问一个集合 - 这样可以更快地访问孩子/父母。