Ruby and MongoDB: пересекающие произвольный BSON Документ, полученный из мондомаппера

StackOverflow https://stackoverflow.com/questions/3082783

Вопрос

В Ruby, как я могу перейти к произвольному документу, полученным из коллекции, используя что-то вроде монпомапера? Допустим, документ выглядит что-то подобное:

mydocs = 
[{"title":"my title",
 "description":"hello world",
 "comments":[{"user":"me","text":"this"},{"user":"him","text":"that"}]
 },
 {.....}
]
Это было полезно?

Решение

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

Другие советы

После извлечения документа из мондомаппера / монгоида или даже монго-рубин-драйвера, как вы генерируете хеш.

Так что вы можете покончить так, как все хэш в мире рубина

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top