1
resposta

[Dúvida] Não consigo conectar no banco de dados em outro computador

Olá, meu nome é Gustavo. Eu fico usando o git varias vezes nesse projeto, pois estudo esse curso em dois computadores e faço isso para continuar o estudo de onde eu parei, independente de qual computador eu esteja, mas quando tento rodar o servidor, o banco de dados não conecta. No computador secundário cheguei a criar o arquivo ".env" e coloquei o mesmo código que está no computador principal, o DB_CONNECTION_STRING e a URI, mas continua dando o mesmo erro que deixarei aqui no final. Se puderem me ajudar a compreender como faço para rodar o banco no meu computador secundário, eu agradeceria muito. Estarei aguardando um retorno. Obrigado :D

ERRO: C:\Users\Gustavo Lima\Documents\ALURA\Projeto-Express-Mongo\node_modules\mongoose\lib\drivers\node-mongodb-native\connection.js:206 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. at NativeConnection.createClient (C:\Users\Gustavo Lima\Documents\ALURA\Projeto-Express-Mongo\node_modules\mongoose\lib\drivers\node-mongodb-native\connection.js:206:11) at NativeConnection.openUri (C:\Users\Gustavo Lima\Documents\ALURA\Projeto-Express-Mongo\node_modules\mongoose\lib\connection.js:755:34) at Mongoose.connect (C:\Users\Gustavo Lima\Documents\ALURA\Projeto-Express-Mongo\node_modules\mongoose\lib\index.js:404:15) at conectaNaDataBase (file:///C:/Users/Gustavo%20Lima/Documents/ALURA/Projeto-Express-Mongo/BACKEND/src/config/dbConnect.js:5:14) at file:///C:/Users/Gustavo%20Lima/Documents/ALURA/Projeto-Express-Mongo/BACKEND/src/app.js:6:23 at ModuleJob.run (node:internal/modules/esm/module_job:194:25)

Node.js v18.15.0 [nodemon] app crashed - waiting for file changes before starting...

1 resposta

Oi!

Verifique se o arquivo .env está correto:

  • Certifique-se de que o arquivo .env no seu computador secundário contém as mesmas configurações que no computador principal. Isso inclui DB_CONNECTION_STRING ou qualquer variável de ambiente relacionada ao MongoDB.

Verifique a leitura do arquivo .env:

  • No arquivo onde você está configurando a conexão com o banco de dados (provavelmente dbConnect.js), certifique-se de que está lendo as variáveis de ambiente corretamente. Pode ser algo como:

    require('dotenv').config(); // Certifique-se de ter esta linha no início do seu arquivo
    
    const uri = process.env.DB_CONNECTION_STRING;
    

Teste a conexão diretamente:

  • Tente conectar-se ao banco de dados diretamente no seu código para ver se há algum problema específico. Você pode adicionar um bloco try-catch para lidar com erros e imprimir mais informações:

    const mongoose = require('mongoose');
    require('dotenv').config();
    
    const uri = process.env.DB_CONNECTION_STRING;
    
    const connectToDatabase = async () => {
      try {
        await mongoose.connect(uri, {
          useNewUrlParser: true,
          useUnifiedTopology: true,
        });
        console.log('Conectado ao banco de dados!');
      } catch (error) {
        console.error('Erro ao conectar ao banco de dados:', error.message);
      }
    };
    
    connectToDatabase();
    

Certifique-se de que o MongoDB está rodando:

  • Verifique se o servidor MongoDB está em execução no seu computador secundário.

Verifique a versão do Mongoose:

  • Certifique-se de estar usando uma versão compatível do Mongoose com a versão do MongoDB. Você pode verificar a versão do Mongoose no seu projeto com o comando:
    npm list mongoose
    

Voce precisa reiniciar o servidor após fazer essas verificações.