Mam modele Author
i Book
.Mongoid/Mongodb i kwerenda na dokumenty osadzone
An Author
ma wiele wbudowanych Books
.
Czy mogę wykonać zapytanie dotyczące osadzonego Books
, czy muszę najpierw pobrać Authors
, aby uzyskać Books
?
Mam modele Author
i Book
.Mongoid/Mongodb i kwerenda na dokumenty osadzone
An Author
ma wiele wbudowanych Books
.
Czy mogę wykonać zapytanie dotyczące osadzonego Books
, czy muszę najpierw pobrać Authors
, aby uzyskać Books
?
Możesz wyszukiwać dokumenty osadzone, po prostu zakwalifikuj nazwę. Zwróci to wszystkich autorów, którzy mają książki pasujące do zapytania.
Jeśli Autor definiuje się jako posiadające wiele: książki (i książka jest osadzona :: dokument)
@authors_with_sewid = Author.where("books.name" => "sewid").all
Byłbyś wtedy trzeba iteracyjne nad autorów i wyodrębnić książki.
OK, wielkie dzięki. Co się stanie, jeśli mam mieszankę dokumentów osadzonych i referencyjnych, czy mogę również wyszukiwać dokumenty referencyjne? Na przykład model autora ma pole twórcy, które zawiera identyfikator użytkownika. Czy jest możliwe zrobienie "Author.where (" book.name "=" sewid "). (" Creator.username "=>" example ")"? Pierwsza próba nie powiodła się. – sewid
Gdy zostaną przywołane obiekty, potrzebujesz połączenia. I nie ma złączeń w ziemi mongody. –
Najlepiej w tym przypadku odinormalizować dane i zapisać nazwę użytkownika twórcy za pomocą autora. – Nader