MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm thế nào để chuyển đổi trực tiếp Tài liệu MongoDB do Jackson JsonNode trong Java

Tôi đã có thể tìm ra một số giải pháp bằng cách sử dụng 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);
}

Tôi không chắc liệu đây có phải là cách hiệu quả nhất hay không, tôi cho rằng nó vẫn là giải pháp tốt hơn là chuyển đổi BSOn thành Chuỗi và phân tích cú pháp chuỗi đó. Có một Vé mở trong mongoDB JIRA để thêm chuyển đổi từ Tài liệu, DBObject BsonDocument đến toBson và ngược lại, điều này sẽ đơn giản hóa toàn bộ quá trình rất nhiều.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Ngày chuyển đổi MongoDB thành chuỗi

  2. Thiết kế tài liệu MongoDB cho các bình luận (và các bình luận trả lời của họ)

  3. Mongodb:tại sao show dbs không hiển thị cơ sở dữ liệu của tôi?

  4. Sử dụng PouchDB với MongoDB

  5. Sử dụng mongodb để lưu trữ dữ liệu vốn chủ sở hữu trong ngày