Solucionado (ver solução)
Solucionado
(ver solução)
8
respostas

Erro ao aplicar dotenv

Eu fiz a instalação do dotenv com o comano npm install dotenv, a instalaçao se deu normalmente.

Depois disso eu criei o arquivo .env no meu diretório raiz do backend e logo depois passei a string de conexão do banco para a variavel STRING_CONNECTION_DB. Até o momento tudo certo como na aula.

Na hora de colocar o node.js para rodar. ele da o seguinte erro.

    throw new MongooseError('The `uri` parameter to `openUri()` must be a ' +
          ^

MongooseError: The `uri` parameter to `openUri()` must be a string, got "undefined". Make sure the first parameter to `mongoose.connect()` or `mongoose.createConnection()` is a string.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Engraçado que quando eu coloco a string de conexão na mão o banco conecta normalmente, porém com a variavel de ambiente da este erro. Já tentei corrigir a string de conexão, o local do arquivo .env e nada. Alguém pode ajudar com o que eu posso estar fazendo de errado!!

8 respostas

Olá Lucas, tudo bem?

Pelo erro apresentado, posso dizer que é possível que a forma que você passou o link no arquivo ".env" não está sendo reconhecida como valida, então, como solução, peço que verifique se está com a mesma forma que a instrutora utilizou em aula.

Contudo, se o erro persistir mesmo você verificando esses pontos, peço que compartilhe comigo todo o seu projeto, via Drive do Google ou GitHub. Pois assim, terei conseguirei lhe dar uma resposta mais assertiva.

Fico no aguardo e à disposição

Tambem não consigo acessar as variaveis do .env

E tenho o mesmo erro , dei um console.log e o retorno é "undefined" .

Não consegui nenhuma solução .

solução!

Fabricio da Rocha Neves, eu consegui resolver o problema e esqueci de marcar a solução aqui. O problema é que tentamos copiar exatamente como na video aula, porém atualmente precisamos incrementar nosso código.

No arquivo dbConnect.js, onde você faz a conexão com o Mongo, deve-se colocar também o import "dotenv/config" Dessa maneira erá fazer a conexão corretamente.

Exatamente o problema era bem ai ! Vlw Lucas muito obrigado !

Bom dia.

Eu fiz a alteração sugerida, pus o import dontenv/config no arquivo dbConnect.js, mas o problema persiste.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

criação da variável de ambiente

Eae Lucas de Oliveira Meira, tudo certo ?

Bom tenta primeira mente fazer a conexao apenas com essa string que está na variavel de ambiente do .env. Se realizar maravilha.

Próximo passo é colocar um console.log(process.env.SUA_VARIAVEL_DE_CONEXÃO), e ver o que ela retorna no terminal. Ela precisa retornar a string corretamente.

Coloca o import dotenv/config no app.js também.

acho que fazendo esses três passos corretamente. Já vai ser o suficiente para mitigar qualquer tipo de erro.

Caso não de certo, tira um print melhor do erro para avaliarmos

Bom dia, Lucas.

Realizei esses procedimentos, e continua dando erro.

Quando realizo a conexão, passando a string direto no mongoose.connect, ela funciona normalmente

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Lucas De Oliveira Meira, Pelo print de tela, parece que o seu arquivo .env está dentro da pasta src. Experimenta mover o .env para a pasta raiz do projeto.