如何实现mongoid多对多关联?

Gav*_*vin 10 many-to-many ruby-on-rails mongoid

我想将社交网络移植到Mongoid.朋友之间的联接表非常大.Mongoid有没有办法处理这个开箱即用的连接表?我已经看到了几个模型中的自己动手解决方案,但看起来并不高效.有办法处理这个吗?或者这是我不应该使用Mongoid的情况?

Pan*_*Jee 5

对于规模应用,应该避免多对多.Twitter的例子是它在用户对象内以逗号分隔格式(字符串)存储关注者ID.使用MongoDB更好,因为它支持数组.

请记住,最好的NoSQL是NoJoin这个术语;-)


小智 1

此方法已被弃用。您现在可以像这样使用references_and_referenced_in_many:

class Person
  include Mongoid::Document
  field :name
  references_and referenced_in_many :preferences
end

class Preference
  include Mongoid::Document
  field :name
  references_and referenced_in_many :people
end
Run Code Online (Sandbox Code Playgroud)