मैं bson4jackson का उपयोग करके कुछ समाधान निकालने में सक्षम था:
public static InputStream documentToInputStream(final Document document) {
BasicOutputBuffer outputBuffer = new BasicOutputBuffer();
BsonBinaryWriter writer = new BsonBinaryWriter(outputBuffer);
new DocumentCodec().encode(writer, document, EncoderContext.builder().isEncodingCollectibleDocument(true).build());
return new ByteArrayInputStream(outputBuffer.toByteArray());
}
public static JsonNode documentToJsonNode(final Document document) throws IOException {
ObjectMapper mapper = new ObjectMapper(new BsonFactory());
InputStream is = documentToInputStream(document);
return mapper.readTree(is);
}
मुझे यकीन नहीं है कि यह सबसे कुशल तरीका है, मुझे लगता है कि बीएसओएन को स्ट्रिंग में परिवर्तित करने और उस स्ट्रिंग को पार्स करने से यह अभी भी बेहतर समाधान है। mongoDB JIRA में एक ओपन टिकट है दस्तावेज़, DBObject . से रूपांतरण जोड़ने के लिए और BsonDocument करने के लिए toBson और इसके विपरीत, जो पूरी प्रक्रिया को बहुत सरल कर देगा।