2010-10-17 19 views

cevap

43

sadece adını nitelemek, gömülü belgeleri sorgulayabilir. Şimdi, bu, sorgunuzla eşleşen kitapların bulunduğu tüm Yazarları döndürecektir. Yazar birçok sahip olarak tanımlanırsa

: kitaplar (ve kitap gömülü :: belgedir)

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

Daha sonra yazarlar üzerinde yineleme ve kitap çıkarmak gerekiyordu.

+0

Tamam, çok teşekkürler. Gömülü ve başvurulan belgelerden oluşan bir karışımım varsa, başvurulan belgeler için de sorgulayabilir miyim? Örneğin, Yazar modelinde, bir kullanıcının kimliğini içeren bir içerik alanı vardır. Author.where ("book.name" = "sewid") ve ("creator.username" => "example") 'yapmak mümkün mü? İlk denemede başarısız oldu. – sewid

+0

Başvurulan nesneler olduktan sonra, bir Join'a ihtiyacınız olur. Ve mongodb arazisinde birleşme yoktur. –

+2

bu durumda yapılacak en iyi şey, verilerinizi denormalize ve Yazar ile yaratıcısı adını saklamak olduğunu. – Nader