Mongodb ドキュメント内に埋め込みドキュメントがあります。Mongodb ドキュメントは次のようになります。
[_id] => home
[url] => /
[type] => homepage
[people] => Array (
[0] => Array (
[name] => John Smith
[rewrite] => john-smith
)
[1] => Array (
[name] => John Q. Public
[rewrite] => john-q-public
)
)
people
埋め込まれたドキュメントを繰り返し処理しようとしています。私の app.rb では、次のようにオブジェクトを haml に渡しています。
DB = Mongo::Connection.new.db("website", :pool_size => 5, :timeout => 5)
pages = DB.collection('pages')
get '/' do
home = pages.find_one( :type => "homepage" )
haml :index, :attr_wrapper => '"', :locals => {:items => home}
end
私の index.haml では、次のようにドキュメント全体を反復処理できます。
-items.each do |item|
%h2= item
people
しかし、埋め込まれたドキュメントを反復処理するにはどうすればよいでしょうか? 私はこのようなことをしたいと思います:
-items.people.each do |person|
%h2= person.name, person.rewrite
また、不適切な用語を使用している場合は修正してください。Mongo、Haml、Sinatra などは初めてです。