如何从Ruby中的BSON文档中获取哈希值?

时间:2018-09-29 12:08:00

标签: ruby mongodb hash bson

我使用Mongo gem将哈希保存到MongoDB中。然后,当我在Ruby中查询数据库时,我会得到一个BSON :: Document。

如何将BSON :: Document转换回原始哈希?

  

doc = {名称:“史蒂夫”,爱好:[“远足”,“网球”,“钓鱼”]   }

     

结果= collection.insert_one(doc)

     

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

返回:

  

{“ _ id” => BSON :: ObjectId('5baf68cd65992f3734f396ab'),“ name” =>“ Steve”,   “兴趣爱好” => [“徒步旅行”,“网球”,“飞钓”]}

1 个答案:

答案 0 :(得分:0)

根据文章中提到的详细信息,似乎您想将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"])