Từ giao diện của những gì bạn đang cố gắng thực hiện, bạn đang cố gắng thêm một số kiểu dữ liệu tùy chỉnh (trong trường hợp này là POJO của bạn) nhưng điều bạn cần lưu ý là các trường trong tài liệu chỉ có thể chấp nhận một số kiểu dữ liệu nhất định, không phải đối tượng trực tiếp. .
Trong trường hợp nếu bạn không biết, thì Tài liệu Mongo được cấu trúc theo cách tương tự như json. Vì vậy, bạn phải tạo tài liệu một cách rõ ràng bằng cách tạo các trường và chèn các giá trị vào chúng. Có những kiểu dữ liệu cụ thể được phép trong các trường giá trị:
http://mongodb.github.io/mongo-java-driver/3.0/bson/documents/
Để giải quyết trường hợp của bạn, đoạn mã bên dưới lấy POJO của bạn làm tham số và biết cấu trúc của POJO, trả về Tài liệu Mongo có thể được chèn vào bộ sưu tập của bạn:
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;
}
Điều này sẽ hoạt động để chèn. Nếu bạn muốn lập chỉ mục một trong các trường:
database.getCollection("Records").createIndex(new Document("id", 1));
Tôi hy vọng điều này trả lời câu hỏi của bạn và phù hợp với bạn.