Ud fra udseendet af, hvad du prøver at gøre, forsøger du at tilføje en brugerdefineret datatype (i dette tilfælde din POJO), men hvad du skal huske på er, at felter i dokumenter kun kan acceptere bestemte datatyper, ikke objekter direkte .
Hvis du ikke også vidste det, er Mongo-dokumenter struktureret på samme måde som json. Så du skal udtrykkeligt oprette dokumenterne ved at oprette felterne og indsætte værdierne i dem. Der er specifikke datatyper, der er tilladt i værdifelter:
http://mongodb.github.io/mongo-java-driver/3.0/bson/documents/
For at hjælpe med din sag, tager koden nedenfor din POJO som en parameter, og ved at kende strukturen af POJO returnerer du et Mongo-dokument, der kan indsættes i din samling:
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;
}
Dette burde virke til indsættelse. Hvis du vil indeksere et af felterne:
database.getCollection("Records").createIndex(new Document("id", 1));
Jeg håber, at dette besvarer dit spørgsmål og virker for dig.