Dall'aspetto di ciò che stai cercando di fare, stai cercando di aggiungere un tipo di dati personalizzato (in questo caso il tuo POJO) ma quello che devi tenere a mente è che i campi nei documenti possono accettare solo determinati tipi di dati, non oggetti direttamente .
Nel caso in cui non lo sapessi, Mongo Documents è strutturato allo stesso modo di json. Quindi devi creare i documenti in modo esplicito creando i campi e inserendo i valori in essi. Esistono tipi di dati specifici consentiti nei campi valore:
http://mongodb.github.io/mongo-java-driver/3.0/bson/documents/
Per aiutarti con il tuo caso, il codice seguente prende il tuo POJO come parametro e conoscendo la struttura del POJO, restituisce un documento Mongo che può essere inserito nella tua raccolta:
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;
}
Questo dovrebbe funzionare per l'inserimento. Se vuoi indicizzare uno dei campi:
database.getCollection("Records").createIndex(new Document("id", 1));
Spero che questo risponda alla tua domanda e funzioni per te.