Saya dapat menemukan beberapa solusi menggunakan 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);
}
Saya tidak yakin apakah ini cara yang paling efisien, saya berasumsi itu masih solusi yang lebih baik daripada mengonversi BSOn ke String dan menguraikan string itu. Ada Tiket terbuka di mongoDB JIRA untuk menambahkan konversi dari Dokumen, DBObject dan BsonDocument ke keBson dan sebaliknya, yang akan sangat menyederhanakan seluruh proses.