MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come ottenere la dimensione in byte di documenti bson

Se hai bisogno di conoscere la dimensione che l'oggetto assumerà prima che sia nella Collezione, ho usato questo codice dove o è l'Oggetto da testare:

    BsonDocument bsonDocument = BsonDocumentWrapper.asBsonDocument(o, getMongoCollection().getCodecRegistry());
    RawBsonDocument rawBsonDocument = RawBsonDocument.parse(bsonDocument.toJson() );

    int bsonSize = rawBsonDocument.getByteBuffer().remaining();

Ciò è particolarmente utile se si desidera impedire oggetti che potrebbero superare la dimensione massima di 16 Mb: https://docs.mongodb.com/manual/reference/limits/