複数の Question ドキュメントを埋め込むことができる Equipment という Mongoid ドキュメントがあります。ドキュメント スキーマは次のとおりです。
class Equipment
include Mongoid::Document
include Mongoid::Timestamps
field :description
field :modelNumber
field :title
field :categoryId
field :subCategoryId
field :stateId
field :city
field :askingPrice
embeds_many :questions
end
class Question
include Mongoid::Document
field :content
attr_accessible :content
embedded_in :equipment, :inverse_of => :questions
embeds_one :answers
end
私の問題は、質問 ID に基づいて質問ドキュメントを取得できることです。ただし、現在のクエリは親の Equipment ドキュメントを返します。クエリが埋め込まれた質問ドキュメントを返すことを期待していました。最終的に、埋め込まれた Question ドキュメントを取得できますが、親の Equipment ドキュメントのすべての Question ドキュメントをループする必要があります。
これが私の現在のクエリです:
@question = Equipment.where('questions._id' => Moped::BSON::ObjectId(params[:id])).first
埋め込まれた質問文書を直接取得する方法はありますか?