2

MongoMapperを使用して関連ドキュメントを熱心にロードしようとしています。投稿に対して:has_one条件の作成者がいるとすると、単一のクエリを使用して作成者を読み込むことができるはずです。

Post.find(:all, :include => :author)

助言がありますか?

4

1 に答える 1

1

更新: 以下のコードはモデルのワークフローと同じです..いくつかのコーディング後に試してみましたが、うまくいきませんでした!

Post モデルと User モデルがあるとします。

ユーザーには多数の投稿があり、すべてのユーザー (作成者) とその投稿が必要です。

ここにそれを処理するためのヒントがあります。私の例は1つの投稿を取得しています。

post.rb

class Post
  include MongoMapper::Document

  key :title, String
  key :body, String
  key :user_id, ObjectId

  belongs_to :user

end

およびuser.rb

class User
  include MongoMapper::Document
  key :name
  many :posts, :embed => :title
end

今、

u = User.first
p = u.posts.first

puts p.title # read it from embedded doc
puts p.body # lazy loading

ここでの秘訣は、ユーザー名、_id、ユーザー スラッグなどの最も一般的なフィールドを埋め込むことです。

上記の内容はテストしていませんが、試してみる必要があります。

ベスト -- アムル

于 2010-10-23T16:23:02.907 に答える