Tenha cuidado ao descartar as coleções limitadas do MongoDB

Uma coleção limitada é uma coleção que não deve crescer mais do que uma quantidade especificada de bytes.

Se você tentar despejar um arquivo BSON com resultados filtrados de uma coleção limitada com mongodumpe importá-lo para o MongoDB em seu laptop de desenvolvimento com mongorestore, o MongoDB reservará a quantidade de espaço em disco especificada no arquivo de metadados complementar.

Tenha cuidado porque recentemente importei um dump de 30 MB (consulta filtrada) de uma coleção limitada de 100G e o espaço reservado do MongoDB para esses 100G em meu laptop.

Você tem pelo menos duas soluções para isso:

A primeira é apenas editar o arquivo de metadados e editar o tamanho da coleção limitada para se adaptar às suas necessidades de desenvolvimento.

O arquivo de metadados tem a seguinte aparência:

{
"options" : {
"create" : "my_database.my_collection",
"capped" : true,
"size" : 107374182400
},
"indexes" : [
{
"v" : 1,
"key" : { "_id" : 1 },
"ns" : "my_database.my_collection",
"name" : "_id_"
}
]
}

A outra solução é usar em mongoexportvez disso e restaurar via mongoimporte, em seguida, converter sua coleção em limitada via convertToCappedcomando com um tamanho adequado para a quantidade de dados exportados.

Espero que isso ajude alguém 🙂