在Ruby中,如何使用类似mongomapper的东西遍历从集合中检索到的任意文档?假设文档看起来像这样:
mydocs =
[{"title":"my title",
"description":"hello world",
"comments":[{"user":"me","text":"this"},{"user":"him","text":"that"}]
},
{.....}
]
答案 0 :(得分:1)
def traverse(obj, level=0, name='root')
s = " "*level + name.to_s + ": "
if obj.is_a?(Array)
puts s
obj.each_with_index{ |child,idx| traverse(child,level+1,idx) }
elsif obj.is_a?(Hash)
puts s
obj.each{ |k,v| traverse(v,level+1,k) }
else
puts s + obj.inspect
end
end
traverse mydocs
答案 1 :(得分:1)
从MongoMapper / Mongoid甚至是mongo-ruby-driver获取文档后,就像生成哈希一样。
所以你可以像Ruby World中的所有哈希一样转换它