Importando arquivos CSV com MongoDB

Olá, hoje importaremos arquivos para o MongoDB. O MongoDB é um banco de dados não-relacional que traz o conceito de Banco de Dados Orientado a Documentos. Ele tem como característica conter informações importantes em um único documento. Deste modo, possibilita a consulta de documentos através de métodos avançados de agrupamento e filtragem.

Caso você não conheça o MongoDB e não sabia fazer um CRUD básico, recomendo a leitura do artigo:

https://www.mundojs.com.br/2020/03/17/crud-basico-com-mongodb/

Agora que você já leu, vamos lá!

Para realizar este exemplo, utilizei o site: https://people.sc.fsu.edu/~jburkardt/data/csv/csv.html que disponibiliza vários tipos de arquivos CSV. Para o nosso exemplo, utilizaremos o arquivo cities.csv, que contém diversos dados sobre cidades dos Estados Unidos.

Com o seu mongoDB devidamente configurado, começaremos a importar os arquivos.

Primeiro, precisamos abrir o diretório em que trabalharemos. Recomendo deixar o arquivo csv a ser importado no mesmo diretório. Utilize o comando cd diretorio para especificar o diretório a ser trabalhado.

Utilizando o comando mongoimport, precisamos especificar o nosso host, que no meu caso é 127.0.0.1. Após isso, utilizaremos a sintaxe -d nomedodocumento, que especifica em qual documento será importado. Caso não exista, será criado.

Utilizaremos também a sintaxe -d nomedacollection, que cria/especifica qual a coleção. Caso ela não exista, será criada.

Agora, precisamos especificar o tipo de arquivo que será importado. No nosso caso, é um arquivo CSV, mas nad aimpede você importar outros arquivos, como JSON etc. Para isso, utilizaremos a sintaxe –type csv.

Especificados o host, nome do documento, nome da collection e o tipo de arquivo, precisamos especificar o nome do arquivo + extensão a ser importado. Como já sabemos, o nosso arquivo é o cities.csv, e você usa a sintaxe –file para isso.

Por último, e não menos importante, usamos o comando –headerline que, em extensões do tipo csv ou tsv, especifica que a primeira linha da tabela será o nome das colunas.

E o comando ficará assim:

mongoimport --host=127.0.0.1 -d enderecos -c listaenderecos --type csv --file cities.csv --headerline

E a saída será:

connected to: mongodb://127.0.0.1/

128 document(s) imported successfully. 0 document(s) failed to import.

Com isso, importamos o nosso arquivo CSV com sucesso!

Utilizando o find(), verificamos que foi importado:

Gostou deste artigo? Comente abaixo!