Как получить хэш из документа BSON в Ruby? - PullRequest
0 голосов
/ 29 сентября 2018

Я сохраняю хэш в MongoDB, используя гем Mongo.Затем я получаю BSON :: Document обратно, когда запрашиваю базу данных в Ruby.

Как преобразовать BSON :: Document обратно в исходный хэш?

doc = {имя: 'Стив', хобби: ['походы', 'теннис', 'ловля рыбы нахлыстом']}

result = collection.insert_one (doc)

steve = collection.find ({name: 'Steve'}) .first

возвращает:

{"_ id" => BSON :: ObjectId ('5baf68cd65992f3734f396ab'), "name" =>"Стив", "хобби" => ["походы", "теннис", "рыбалка нахлыстом"]}

1 Ответ

0 голосов
/ 29 сентября 2018

В соответствии с деталями, упомянутыми в посте, кажется, что вы хотите преобразовать объект BSON db в объект json (Hash).

BSON содержит модуль JSON, который предоставляет указанный ниже метод для преобразования объекта в json

to_json

https://www.rubydoc.info/github/mongodb/bson-ruby/BSON/JSON

Не уверен в упомянутом ниже методе, так как я использовал его только в объекте ActiveRecord, попробуйте, если он работает

result.as_json(only: ["name_of_the_column_you_want"])
...