我使用 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"])