Neste tutorial, exploraremos como usar o comando compacto em MongoDBB. O comando compacto permite que você reescreva e desfragem os dados e índices dentro de uma coleção MongoDB Free Up Disk Space.
Sintaxe de comando
O snippet de código a seguir mostra a sintaxe do comando compact:
dB.comando de execução(
compactar:
)
O comando compacto aceita os seguintes parâmetros:
É bom ter em mente que a operação compacta bloqueia o banco de dados no qual o comando compacto é executado. No entanto, isso não afeta os outros bancos de dados no cluster.
Exemplo:
Vamos ilustrar como usar o comando compacto em mongodb. Para ver melhor os efeitos do comando compacto, é bom ver o tamanho da coleção antes da compactação.
Suponha que tenhamos uma coleção chamada Disney, que contém as informações sobre filmes e programas de TV da Disney.
Podemos obter o uso do disco de coleta antes da compactação com o seguinte comando:
cinema> dB.Disney.estatísticas (escala: 1024)
O comando anterior retorna as estatísticas sobre a coleção especificada. O que estamos interessados é o tamanho da coleção. Um exemplo de saída é como mostrado:
,
Nindexes: 3,
IndexBuilds: [],
TotalIndexSize: 104,
Totalsize: 400,
IndexSizes: _id_: 28, title_1: 52, type_1: 24,
ScaleFactor: 1024,
OK: 1
Nesse caso, podemos ver que a coleção ocupa 400kb de dados antes da compactação.
Executando o comando de compactação
Podemos executar a operação de compactação, como mostrado no seguinte:
cinema> dB.RuCommand (compact: "Disney", Force: True)
O comando deve retornar uma saída como mostrado no seguinte:
cinema> dB.RuCommand (compact: "Disney", Force: True)
bytesfreed: 300, ok: 1
Podemos então verificar as estatísticas de uso da seguinte forma:
Nindexes: 3,
IndexBuilds: [],
TotalIndexSize: 104,
Totalsize: 399,
IndexSizes: _id_: 28, title_1: 52, type_1: 24,
ScaleFactor: 1024,
OK: 1
Podemos ver que o comando libera 30 bytes de dados.
Conclusão
Neste curto post, abordamos como usar o comando compact em mongodb para desfragitar os dados em uma determinada coleção e liberar um espaço de disco para o sistema host.