0

埋め込みドキュメントを含む Mongoid ドキュメントのすべての属性を取得する簡単な方法はありますか?

たとえば、次のドキュメントがあるとします。

class Person
  include Mongoid::Document
  embeds_many :phone_numbers
  field :name
end

class PhoneNumner
  include Mongoid::Document
  embedded_in :person, :inverse_of => :phone_numbers
  field :number
end

Personの属性と電話番号を次のように取得したいと思います。

{ :name => "Jenny", :phone_numbers => [{ :number => '867-5309' }, { :number => '867-5309' }] }
4

1 に答える 1

5

埋め込みドキュメントは実際には親ドキュメントの他の属性にすぎないため、次のように取得できます。

person = Person.create
person.phone_numbers.create(:number => "123-456-7890")
person.attributes
# => {"_id"=>"4c48ff26f7e2da3704000001",
#    "phone_numbers"=>
#     [{"number"=>"123-456-7890", "_id"=>"4c48ff26f7e2da3704000002"}]}
于 2010-07-23T02:33:13.883 に答える