0

我在 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 等的新手。

4

1 回答 1

0

也许我应该多学习一点 Ruby 语法......这是我能够迭代到我的people嵌入式文档的方式:

-items["people"].each do |person|
  %h2= person["name"], person["rewrite"]
于 2012-07-11T22:07:41.813 回答