十分に単純な状況。以前の開発者からの情報を集めた MongoDB データベースがあります。ただし、事前に入手したモデルに関する情報は限られており、元のモデル クラスにアクセスすることはできません。次のように、MongoDBドライバーをいじって、MongoDBドライバーに関する詳細情報を取得しました(最終的にオブジェクトをマップアウトするためにMongoIDを使用する必要があります)。
#The flow is as follows
#Connection
#Databases
#Database
#Collection
#Hash Info
#Setup the connection. you can supply attributes in the form of ("db",portno) but most of the time it will pick up the defaults
conn = Mongo::Connection.new
#Database info
mongodbinfo =conn.database_names
conn.database_info.each { |info| puts info.inspect }
db = conn.db("db_name_here")
db.collection_names.each { |collection| puts collection.inspect }
collection = db.collection("model_name_here")
puts collection.inspect
collection.find.each { |row|
puts row.inspect
puts row.class
}
各行は個別のオブジェクトであり、MongoDB が動作するため、各オブジェクト/ドキュメントは BSON オブジェクトです。
要するに、mongoID を使用して BSON をモデルに逆シリアル化するにはどうすればよいですか?
Ps 新しい mongoDB を理解しようとしている場合は、上記のコードを自由に使用してください。IMHO のデバッグに便利です。