web-dev-qa-db-ja.com

Mongoid / Mongodbおよび埋め込みドキュメントのクエリ

AuthorモデルとBookモデルがあります。

Authorには多くのBooksが埋め込まれています。

埋め込まれたBooksをクエリできますか、それともAuthorsを取得するために最初にBooksをフェッチする必要がありますか?

30
sewid

名前を修飾するだけで、埋め込まれたドキュメントをクエリできます。これで、クエリに一致する本を持っているすべての著者が返されます。

Authorが多数の:booksを持っていると定義されている場合(そしてbookが埋め込み:: documentである場合)

@authors_with_sewid = Author.where("books.name" => "sewid").all

次に、著者を繰り返し処理して本を抽出する必要があります。

48
Jesse Wolgamott