実行しようとしていることの外観から、カスタムデータ型(この場合はPOJO)を追加しようとしていますが、ドキュメントのフィールドは特定のデータ型のみを受け入れ、オブジェクトを直接受け入れることはできないことに注意する必要があります。 。
ご存じない方のために説明すると、Mongoドキュメントはjsonと同じように構成されています。したがって、フィールドを作成して値を挿入することにより、ドキュメントを明示的に作成する必要があります。値フィールドで許可される特定のデータ型があります:
http://mongodb.github.io/mongo-java-driver/3.0/bson/documents/
ケースを支援するために、以下のコードはPOJOをパラメーターとして受け取り、POJOの構造を認識して、コレクションに挿入できるMongoドキュメントを返します。
private Document pojoToDoc(Pojo pojo){
Document doc = new Document();
doc.put("Name",pojo.getName());
doc.put("Surname",pojo.getSurname());
doc.put("id",pojo.getId());
return doc;
}
これは挿入のために機能するはずです。フィールドの1つにインデックスを付ける場合:
database.getCollection("Records").createIndex(new Document("id", 1));
これがあなたの質問に答え、あなたのために働くことを願っています。