2010-10-17 5 views

Répondre

43

Vous pouvez interroger des documents incorporés, il suffit de qualifier le nom. Maintenant, cela retournera tous les auteurs qui ont des livres qui correspondent à votre requête.

Si l'auteur est défini comme ayant beaucoup: livres (et livre est un intégré :: documents)

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

Vous auriez besoin alors itérer sur les auteurs et extraire les livres.

+0

Ok, merci beaucoup. Que faire si j'ai un mélange de documents incorporés et référencés, puis-je également interroger les documents référencés? Par exemple, le modèle Auteur a un champ créateur, qui contient l'ID d'un utilisateur. Est-il possible de faire 'Author.where ("book.name" = "sewid"). Et ("creator.username" => "exemple")'? Un premier essai a échoué. – sewid

+0

Une fois qu'ils sont des objets référencés, vous auriez besoin d'une jointure. Et il n'y a pas de Joins dans la terre mongodb. –

+2

La meilleure chose à faire dans ce cas est de dénormaliser vos données et de stocker le nom d'utilisateur du créateur avec l'auteur. – Nader

Questions connexes