MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak bezpośrednio przekonwertować dokument MongoDB na Jackson JsonNode w Javie?

Udało mi się znaleźć rozwiązanie za pomocą 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);
}

Nie jestem pewien, czy jest to najbardziej wydajny sposób, zakładam, że jest to nadal lepsze rozwiązanie niż konwersja BSOn na String i parsowanie tego ciągu. Istnieje otwarty bilet w mongoDB JIRA do dodawania konwersji z Dokumentu, DBObject i BsonDocument do do Bsona i na odwrót, co znacznie uprościłoby cały proces.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nie można połączyć Mongodb z kontenerem Springboot w dockerze

  2. Indeksy MongoDB i operator $or

  3. Jaka jest różnica między operatorami .in() i all.() w manguście?

  4. Błąd:brak otwartych połączeń w Db._executeQueryCommand Node.js

  5. Cosmos DB Mongo API Jak zarządzać Request Rate is Large warunek