假设Embedded 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
但没用,我缺了什么?
更新
在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}
把名单拿回来。
最佳答案
您给出的循环是正确的,它工作得很好,但是您没有在任何地方保存任何值album.name
。只需将它保存在数组或其他东西中并检查数组的内容。我想它会有所有的名字。
关于ruby-on-rails - Mongoid 3.0嵌入式1-N查询用于列出所有嵌入字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11700139/