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



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

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

doc = { 姓名: '史蒂夫', 爱好: [ '远足', '网球', '飞蝇钓鱼' ] }

结果 = collection.insert_one(文档(

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

返回:

{"_id"=>BSON::ObjectId('5baf68cd65992f3734f396ab'(, "name"=>"Steve", "爱好"=>["远足"、"网球"、"飞蝇钓鱼"]}

根据帖子中提到的细节,您似乎要将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"])

最新更新