J'ai les modèles Author
et Book
.Mongoid/Mongodb et interrogation de documents incorporés
Un Author
a plusieurs Books
incorporés. Puis-je interroger le Books
intégré ou dois-je chercher Authors
en premier pour obtenir Books
?
J'ai les modèles Author
et Book
.Mongoid/Mongodb et interrogation de documents incorporés
Un Author
a plusieurs Books
incorporés. Puis-je interroger le Books
intégré ou dois-je chercher Authors
en premier pour obtenir Books
?
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.
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
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. –
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