Você pode calcular o tamanho de vários documentos usando a especificação BSON .
Por exemplo, um documento
{a:1}
consistindo em uma chave com um valor inteiro levaria 5+1+2+4=12 bytes. Você pode usar vários drivers para converter seus dados em BSON para ver quanto espaço realmente ocupa:
serene% irb -rbson
irb(main):001:0> {a:1}.to_bson.to_s
=> "\f\x00\x00\x00\x10a\x00\x01\x00\x00\x00\x00"
irb(main):002:0> {a:1}.to_bson.to_s.length
=> 12
Se você tiver, digamos, documentos que são mapeamentos simples (não aninhados) com chaves com 10 bytes de comprimento e valores inteiros de 64 bits, cada par chave-valor ocupa 1+10+1+8=20 bytes. Você pode ter cerca de 800.000 desses pares de valores-chave em um único documento.