sql >> Base de Datos >  >> NoSQL >> MongoDB

Obtener el tamaño de todos los documentos en una consulta

Aquí está la respuesta que he encontrado:

var cursor = db.collection.find(...); //Add your query here.
var size = 0;
cursor.forEach(
    function(doc){
        size += Object.bsonsize(doc)
    }
);
print(size);

Debería generar el tamaño en bytes de los documentos con bastante precisión.

He ejecutado el comando dos veces. La primera vez había 141 215 documentos que, una vez volcados, tenían un total de unos 108 mb. La diferencia entre la salida del comando y el tamaño en disco fue de 787 bytes.

La segunda vez que ejecuté el comando, había 35 914 179 documentos que, una vez descargados, tenían un total de aproximadamente 57,8 gb. Esta vez, tenía exactamente el mismo tamaño entre el comando y el tamaño real en el disco.