Ruby on rails Mongoid 3.0嵌入式1-N查询,用于列出所有嵌入式字段
假设模型如下所示:Ruby on rails Mongoid 3.0嵌入式1-N查询,用于列出所有嵌入式字段,ruby-on-rails,ruby,ruby-on-rails-3,mongodb,mongoid,Ruby On Rails,Ruby,Ruby On Rails 3,Mongodb,Mongoid,假设模型如下所示: 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|
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
我怎样才能得到每个乐队专辑名的完整列表
我的意思是,我必须首先得到所有乐队,然后每个乐队我都会得到他的名字,我尝试了以下几种变体:
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
但不起作用,我错过了什么
更新
下面,它仅适用于添加阵列:
album_array = []
Band.all.each do |band|
band.albums.all.each do |album|
album_array << album.name
end
end
返回列表。您给出的循环是正确的,它工作正常,但您没有在任何地方保存
album.name的任何值。只需将它保存在数组或其他什么东西中,然后检查数组的内容。我想它会有所有的名字