Zoals u ziet, probeert u een aangepast gegevenstype toe te voegen (in dit geval uw POJO), maar u moet er rekening mee houden dat velden in documenten alleen bepaalde gegevenstypen kunnen accepteren, geen objecten rechtstreeks .
Voor het geval je het nog niet wist, Mongo-documenten zijn op dezelfde manier gestructureerd als json. U moet de documenten dus expliciet maken door de velden aan te maken en de waarden erin in te voegen. Er zijn specifieke gegevenstypen die zijn toegestaan in waardevelden:
http://mongodb.github.io/mongo-java-driver/3.0/bson/documents/
Om u te helpen met uw zaak, neemt de onderstaande code uw POJO als parameter en als u de structuur van de POJO kent, wordt een Mongo-document geretourneerd dat in uw verzameling kan worden ingevoegd:
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;
}
Dit zou moeten werken voor het invoegen. Als u een van de velden wilt indexeren:
database.getCollection("Records").createIndex(new Document("id", 1));
Ik hoop dat dit uw vraag beantwoordt en voor u werkt.