1
resposta

[Dúvida] Rotina de atualização diária do MongoDB.

Estou criando uma API REST para um desafio técnico, e nessa aplicação um dos critérios é de que eu tenho que fazer o import diário de alguns arquivos de dados e selecionar 100 itens de cada arquivo para serem adicionados a minha collection no MongoDB, nisso eu sei que posso utilizar o CRON para criar a rotina diária, mas como eu posso realizar o download desses arquivos e depois atualizar no Mongo?

E qual a melhor maneira de realizar essa atualização no banco? Devo apagar todos os arquivos já existentes e substitui-los ou já existe alguma solução nativa do Mongo?

Sei que a pergunta pode ter ficado meio vaga, mas só preciso de um direcionamento inicial para seguir com o projeto.

1 resposta

Olá João! Tudo bem com você?

Peço desculpa pela demora em responder o seu tópico.

Primeiramente, você pode utilizar uma biblioteca para fazer o download dos arquivos. Por exemplo, se estiver utilizando Node.js, pode utilizar o pacote axios para fazer as requisições HTTP e baixar os arquivos. Após o download, você pode utilizar a biblioteca fs para salvar os arquivos localmente.

Em relação à atualização no banco de dados, o MongoDB possui uma funcionalidade chamada bulkWrite que permite realizar operações em lote, como inserção, atualização e remoção de documentos. Você pode utilizar essa funcionalidade para atualizar sua collection com os dados dos arquivos baixados.

A melhor maneira de realizar a atualização no banco, vai variar de caso a caso. Se você precisa substituir todos os documentos existentes na collection, pode utilizar o método deleteMany para remover todos os documentos antes de realizar a inserção dos novos dados. Caso contrário, se você precisa apenas adicionar os novos documentos, pode utilizar o método insertMany para inserir os novos dados sem remover os existentes.

Lembre-se de tratar possíveis erros durante o download dos arquivos e a atualização no banco de dados, utilizando try/catch ou tratamento de erros adequado para garantir a integridade dos dados.

Espero ter ajudado a direcionar seu projeto! Se tiver mais alguma dúvida, estarei à disposição.

Grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.