2012-07-28 69 views
2

假设一个Embedded 1-N模型如下所示:Mongoid 3.0嵌入式1-N查询列出所有嵌入式领域

class Band 
    include Mongoid::Document 
    field :group_name 

    embeds_many :albums 
end 

class Album 
    include Mongoid::Document 
    field :name 
    field :sold 

    embedded_in :band 
end 

我怎样才能相册名称每个波段的完整列表?

我的意思是我得的创举所有波段,然后为每个带我去了他的名字,我试过的一些变化如下:

Band.all.each do |band| 
    band.albums.all.each do |album| 
    album.name 
    end 
end 

可是不行的,我是什么失踪 ?

UPDATE

以下abhas,它只是作品加入阵列:

album_array = [] 
Band.all.each do |band| 
    band.albums.all.each do |album| 
    album_array << album.name 
    end 
end 

然后

album_array.each{|a|a} 

拿到名单回来。

回答

2

你给的循环是正确的,它的工作原理很好,但是你不会在任何地方保存任何值album.name。只需将它保存在数组或其他东西中并检查数组的内容。我认为它会有所有的名字。

+0

谢谢阿巴斯,你是对的,它的工作原理。 – 2012-07-28 13:20:14