0

たとえば、私にはモデルがUserあり、Post

ユーザー

{
    "_id": ObjectId("pretendThisIsAUserObjectId"),
    "name": "someUser"
}

役職

{
    "_id": ObjectId("pretendThisIsAUserObjectId"),
    "title": "blah blah",
    "user_id": ObjectId("pretendThisIsAUserObjectId"),
    "content": "more blah"
}

ユーザーには多くの投稿があります。にuser_id格納しましたPost

したがって、各ユーザーの投稿を一覧表示する場合、MongoDB に参加していないため、N+1 のクエリ (N の投稿とユーザー名の 1 つのクエリ) があります。

Post最適化のためにユーザー名を に保存することはできますか?

4

2 に答える 2

0

Identity Mapが有効になっている場合はincludes、通常どおり使用できます。

Post.includes(:user)...

Eager Loadingを参照してください。

于 2012-12-22T18:54:38.640 に答える