O MongoDB é um dos bancos de dados NoSQL mais populares atualmente, amplamente utilizado devido à sua flexibilidade e escalabilidade. Para garantir a integridade e segurança dos dados armazenados em um banco de dados MongoDB, é crucial criar backups regularmente. As ferramentas mongodump e mongorestore são usadas para criar e restaurar backups do banco de dados, respectivamente. Neste artigo, vamos explorar os diferentes tipos de mongorestore, suas opções e, brevemente, as opções do mongodump.

mongodump

O mongodump é uma ferramenta de backup do MongoDB que permite criar arquivos binários BSON a partir dos dados armazenados em uma instância do MongoDB. Os backups criados pelo mongodump podem ser compactados usando a opção –gzip e salvos como arquivos usando a opção –archive. Aqui está um exemplo de como criar um backup usando o mongodump:

mongodump --uri "mongodb://user:pass@localhost:27017/DATABASE" --gzip --archive=backup.gz

mongorestore

O mongorestore é a ferramenta complementar ao mongodump, que permite restaurar os dados armazenados nos arquivos binários BSON para uma instância do MongoDB. O mongorestore tem várias opções que podem ser usadas para modificar o comportamento da restauração.

2.1 Restauração básica

Aqui está um exemplo de uma restauração básica usando o mongorestore:

mongorestore --uri "mongodb://user:pass@localhost:27017/DATABASE"

2.2 Restauração com autenticação e compactação

Para restaurar um backup compactado com gzip, é necessário especificar a opção –gzip e fornecer o arquivo de backup com a opção –archive. Se a autenticação for necessária, também será necessário fornecer as credenciais usando as opções –host, –db, -u, -p e –authenticationDatabase. Aqui está um exemplo de como restaurar um backup compactado:

mongorestore --host localhost:27017 --db=DATABASE -u admin -p password --authenticationDatabase=admin --gzip --archive=/backups/backup.gz

2.3 Restauração com exclusão de dados existentes

Se desejar excluir os dados existentes no banco de dados antes de restaurar o backup, você pode usar a opção –drop. Aqui está um exemplo:

mongorestore --drop --gzip --archive=backup.gz --uri "mongodb://user:pass@localhost:27017/DATABASE"

2.4 Restauração com exclusão de uma coleção específica

Se você deseja excluir uma coleção específica durante a restauração, use a opção –excludeCollection. Por exemplo:

mongorestore --drop --gzip --archive=backup.gz --excludeCollection "collecion" --uri "mongodb://user:pass@localhost:27017/DATABASE"

2.5 Restauração preservando UUIDs das coleções

Se você deseja preservar os UUIDs das coleções durante a restauração, use a opção –preserveUUID. Isso pode ser útil ao mover dados entre instâncias de produção e teste para garantir a consistência dos identificficadores. Aqui está um exemplo de como restaurar um backup preservando os UUIDs das coleções:

mongorestore --preserveUUID --gzip --archive=backup.gz --uri "mongodb://user:pass@localhost:27017/DATABASE"

Outras opções do mongorestore Além das opções discutidas acima, o mongorestore possui várias outras opções que podem ser úteis em diferentes cenários. Algumas dessas opções incluem:

3.1 Restauração paralela

Para acelerar o processo de restauração, você pode usar a opção –numParallelCollections. Isso permite que o mongorestore restaure várias coleções simultaneamente. Por exemplo:

mongorestore --numParallelCollections=4 --gzip --archive=backup.gz --uri "mongodb://user:pass@localhost:27017/DATABASE"

3.2 Restauração em um novo banco de dados

Para restaurar o backup em um novo banco de dados, você pode usar a opção –nsInclude. Isso permite especificar o namespace de origem e destino para a restauração. Por exemplo:

mongorestore --nsInclude "DATABASE_OLD.*" --nsTo "DATABASE_NEW.*" --gzip --archive=backup.gz --uri "mongodb://user:pass@localhost:27017"

3.3 Limitação da taxa de transferência

Se você deseja limitar a taxa de transferência de dados durante a restauração, pode usar a opção –slowms. Isso pode ser útil para reduzir o impacto da restauração no desempenho do banco de dados. Por exemplo:

mongorestore --slowms=100 --gzip --archive=backup.gz --uri "mongodb://user:pass@localhost:27017/DATABASE"

Conclusão

Neste artigo, exploramos as ferramentas mongodump e mongorestore do MongoDB e suas opções. Essas ferramentas são essenciais para criar e gerenciar backups do seu banco de dados MongoDB, garantindo a segurança e integridade dos seus dados. O mongorestore oferece várias opções para personalizar o processo de restauração, permitindo que você restaure dados de acordo com suas necessidades específicas. Certifique-se de revisar a documentação oficial do MongoDB para obter informações adicionais e detalhes sobre essas opções e como utilizá-las efetivamente.