ID: 24001 - Model self-reference using Mongoid ORM
Posted by layonman98 on Sun Dec 05 03:36:35 UTC 2010.
Language ruby
class User include Mongoid::Document identity :type => String field :name references_many :fans, :stored_as => :array, :class_name => 'User' end # Examples chuck = User.create :name => 'Chuck' chuck.fans << andy = User.create( :name => 'Andy' ) chuck.fans << katie = User.create( :name => 'Katie' ) chuck.fans << mary = User.create( :name => 'Mary' ) ruby-1.8.7-p302 > pp chuck #<User _id: 4cfb06e5434acf498b000001, name: "Chuck", fan_ids: ["4cfb06e5434acf498b000002", "4cfb06e5434acf498b000003", "4cfb06e6434acf498b000004"]> => nil ruby-1.8.7-p302 > pp chuck.fans.map [#<User _id: 4cfb06e5434acf498b000002, name: "Andy", fan_ids: []>, #<User _id: 4cfb06e5434acf498b000003, name: "Katie", fan_ids: []>, #<User _id: 4cfb06e6434acf498b000004, name: "Mary", fan_ids: []>]