いくつかのデータを含む MongoDB DB があります。すべて正常に動作し、データが mongo DB に適切に挿入されました。ただし、今やりたいことは、mongoDB DB ファイルを開き、BSON gem を使用して解析して、mongo DB ファイルのわかりやすい形式を確認できるようにすることです。
data = nil
File.open("input/bson/database_development.0") do |f|
data = f.read
end
unpacked_data = BSON.deserialize(data)
File.new("input/bson/output.txt", "w") do |f|
f.write(unpacked_data)
end
ただし、これにより次のエラーが発生します。
/home/user/.rvm/gems/ruby-1.9.2-p180/gems/bson-1.3.1/lib/bson/bson_c.rb:28:in `deserialize': no c decoder for this type yet (-86) (TypeError)
from /home/user/.rvm/gems/ruby-1.9.2-p180/gems/bson-1.3.1/lib/bson/bson_c.rb:28:in `deserialize'
from /home/user/.rvm/gems/ruby-1.9.2-p180/gems/bson-1.3.1/lib/bson.rb:37:in `deserialize'
from bsoner.rb:16:in `<main>'
グーグルから少しだけ、mongoDBはあらゆる種類の入力を受け入れて保存できるが、あらゆる種類のデータを読み取ることはできないと言う人もいました。つまり、データベース ファイルには、正しく読み取ることができない不良データが含まれていると言っているのです。しかし、挿入できるものは何でも読み取ることができるべきではないでしょうか?