आप जो करने की कोशिश कर रहे हैं, उसके लुक से, आप कुछ कस्टम डेटा प्रकार (इस मामले में आपका POJO) जोड़ने की कोशिश कर रहे हैं, लेकिन आपको यह ध्यान रखने की ज़रूरत है कि दस्तावेज़ों में फ़ील्ड केवल कुछ डेटा प्रकार स्वीकार कर सकते हैं, सीधे ऑब्जेक्ट नहीं ।
यदि आप यह भी नहीं जानते हैं, तो Mongo Documents को 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;
}
यह सम्मिलन के लिए काम करना चाहिए। यदि आप किसी एक फ़ील्ड को अनुक्रमित करना चाहते हैं:
database.getCollection("Records").createIndex(new Document("id", 1));
मुझे आशा है कि यह आपके प्रश्न का उत्तर देगा और आपके लिए काम करेगा।