Ruby y MongoDB: Atravesando documento BSON arbitraria recuperado de MongoMapper
-
28-09-2019 - |
Pregunta
En Ruby, ¿cómo puedo atravesar un documento arbitraria recuperado de una colección usando algo como MongoMapper? Digamos que el documento es como la siguiente:
mydocs =
[{"title":"my title",
"description":"hello world",
"comments":[{"user":"me","text":"this"},{"user":"him","text":"that"}]
},
{.....}
]
Solución
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
Otros consejos
Después de buscar a un documento del MongoMapper / Mongoid o incluso mongo-rubí conductor, que es como se genera un hash.
Para que pueda transverso que como todos hachís en Ruby Mundial
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow