5
respostas

Erro ao importar o arquivo alunos.json

Olá pessoal, tudo bem?

Eu estou tentando importar o arquivo alunos.json (da última lição), estou usando Windows 7 Criei a variável de ambiente para o bin do mongo.

Subo o mongo pelo comando mongod

Tento rodar o seguinte comando: mongoimport -c alunos --jsonArray < c:\data\alunos.json ou mongoimport -c alunos --jsonArray < alunos.json (O arquivo alunos.json está em C:\data)

Apresenta o seguinte erro:

2017-06-01T17:23:16.523-0300    test.alunos     0B
2017-06-01T17:23:17.027-0300    test.alunos     0B
2017-06-01T17:23:17.027-0300    Failed: error connecting to db server: no reachable servers
2017-06-01T17:23:17.028-0300    imported 0 documents

O que será que está errado?

Obrigado!

5 respostas

Oi Guilherme, tudo bem? Acho que o problema está no próprio comando mesmo. Eu tenho dúvidas se o < funciona no Windows. Mas tenta executar utilizando a flag --file pra ver se funciona.

mongoimport -c alunos --jsonArray --file alunos.json

Olá Wanderson,

Obrigado pela resposta. Infelizmente não funcionou ainda. Eu tentei como você falou e o erro continua mesmo: Failed: error connecting to db server: no reachable servers

Tentei este comando (estando no diretório do arquivo alunos.json)

mongoimport -c alunos --jsonArray --file alunos.json

Quanto

mongoimport -c alunos --jsonArray --file c:\data\alunos.json

Oi Guilherme, entendo, mas olha, de acordo com o erro ele não tá conseguindo conectar ao servidor mongo. Você deu start no mongo db? Se não me engano o executável do servidor é o mongod... Verifica isso tá bem?

Olá, Rode o mongod para startar o servidor e deixe o prompt aberto.

Em um novo prompt rode o comando mongoimport --db test --collection alunos --drop --file "c:\data\alunos.json"

lembrando que "c:\data\alunos.json" é onde você salvou o arquivo alunos.json e utilize as aspas para evitar problemas com path onde há espaços ex: "c:\bases mongo\alunos.json"

att.

A importação dos dados do arquivo alunos.json também pode ser feita através do comando:

db.alunos.insertMany()

Passando dentro do comando, todo o array do arquivo json.

Ficaria algo do tipo:

db.alunos.insertMany([
{
    nome : "Guilherme",
    localizacao : { type : "Point", "coordinates" : [-23.5882133, -46.63235580000003]}
},
{
    nome : "Paulo",
    localizacao : { type : "Point", "coordinates" : [-23.5707855, -46.643499399999996]}
},
{
    nome : "Ana",
    localizacao : { type : "Point", "coordinates" : [-23.5829461, -46.6315126]}
}
])