私は、MongoDBコレクション内のすべてのドキュメントをHadoopで記述されたMapReduceジョブに通すことができるMongoInputFormatで遊んでいます。
提供されている例(this、this、this)でわかるように、マッパーに提供されるドキュメントのタイプはBSONObject(Javaのインターフェイス)です。
今では、MongoDBからの生データをはるかに使いやすいPOJOにマッピングできるMorphiaも非常に気に入っています。
入力としてBSONObjectしか取得できないため、Morphiawikiのこのページの下部に記載されているメソッドを使用することを考えました。
BlogEntry blogEntry = morphia.fromDBObject(BlogEntry.class, blogEntryDbObj);
私の問題は、このメソッドがBSONObjectではなくDBObjectを必要とすることです。DBObjectは実際には次のとおりです。
public interface DBObject extends BSONObject
ご覧のとおり、BSONObjectからDBObjectにキャストして、提供されたメソッドを呼び出すことはできません。
これを最善の方法で処理するにはどうすればよいですか?