2010-10-17 5 views

ответ

43

Вы можете запросить вложенные документы, просто квалифицируйте имя. Теперь это вернет всех авторов, у которых есть книги, соответствующие вашему запросу.

Если автор определяются как имеющие много: книги (и книга вложенной :: документ)

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

Вы бы тогда нужно перебрать автор и извлечь книги.

+0

Хорошо, спасибо большое. Что делать, если у меня есть смесь встроенных и ссылочных документов, могу ли я также запросить ссылки на документы? Например, модель Author имеет поле creator, которое содержит идентификатор пользователя. Можно ли сделать «Author.where» («book.name» = «sewid»). И («creator.username» => «example»)?? Первая попытка не удалась. – sewid

+0

После того, как они будут ссылаться на объекты, вам понадобится Join. И нет никаких союзников в земле монгодб. –

+2

Лучшее, что нужно сделать в этом случае, - денормализовать ваши данные и сохранить имя пользователя-создателя вместе с автором. – Nader

Смежные вопросы