MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Obter o tamanho de todos os documentos em uma consulta


Aqui está a resposta que encontrei:
var cursor = db.collection.find(...); //Add your query here.
var size = 0;
cursor.forEach(
    function(doc){
        size += Object.bsonsize(doc)
    }
);
print(size);

Deve produzir o tamanho em bytes dos documentos com bastante precisão.

Já executei o comando duas vezes. Na primeira vez, havia 141.215 documentos que, uma vez despejados, tinham um total de cerca de 108 mb. A diferença entre a saída do comando e o tamanho no disco foi de 787 bytes.

Na segunda vez que executei o comando, havia 35.914.179 documentos que, uma vez despejados, tinham um total de cerca de 57,8 GB. Desta vez, eu tinha exatamente o mesmo tamanho entre o comando e o tamanho real no disco.