Olá, Arthur! Tudo bem?
O erro "The uri
parameter to openUri()
must be a string, got "undefined"" significa que a função mongoose.connect()
está recebendo um valor undefined
em vez de uma string.
No seu código, você está tentando passar a string de conexão através da variável de ambiente DB_CONNECTION_STRING
:
mongoose.connect(process.env.DB_CONNECTION_STRING);
Então, o primeiro passo é verificar se você definiu corretamente essa variável de ambiente no seu arquivo .env
. Deve ser algo parecido com isso:
DB_CONNECTION_STRING=mongodb+srv://usuario_exemplo:senhaExemplo@cluster.vk11mjl.mongodb.net/
Além disso, para acessar as variáveis de ambiente, você precisa usar o pacote dotenv
e configurá-lo corretamente. Adicione no início do seu arquivo dbConnect.js
:
import dotenv from 'dotenv';
dotenv.config();
Isso fará com que as variáveis de ambiente definidas no arquivo .env
estejam disponíveis em process.env
.
Se você fez tudo isso e o erro persistir, tente imprimir a variável process.env.DB_CONNECTION_STRING
antes de passá-la para mongoose.connect()
, para verificar se ela está sendo lida corretamente:
console.log(process.env.DB_CONNECTION_STRING);
mongoose.connect(process.env.DB_CONNECTION_STRING);
Se o console imprimir undefined
, então há algo errado com a forma como você está definindo ou acessando suas variáveis de ambiente.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.