Podle vzhledu toho, co se snažíte udělat, se pokoušíte přidat nějaký vlastní datový typ (v tomto případě váš POJO), ale musíte mít na paměti, že pole v dokumentech mohou přijímat pouze určité datové typy, nikoli přímo objekty. .
V případě, že byste také nevěděli, Mongo Documents jsou strukturovány stejným způsobem jako json. Takže musíte explicitně vytvořit dokumenty vytvořením polí a vložením hodnot do nich. Existují specifické datové typy, které jsou povoleny v hodnotových polích:
http://mongodb.github.io/mongo-java-driver/3.0/bson/documents/
Abychom vám pomohli s vaším případem, níže uvedený kód vezme vaše POJO jako parametr a se znalostí struktury POJO vrátí dokument Mongo, který lze vložit do vaší sbírky:
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;
}
Při vkládání by to mělo fungovat. Pokud chcete indexovat jedno z polí:
database.getCollection("Records").createIndex(new Document("id", 1));
Doufám, že to odpoví na vaši otázku a bude pro vás fungovat.