1
resposta

API não conecta com mongodb

Fiz o procedimento como está na aula, mas ao rodar a apí, a conexão com o mongodb não estabelece.

import express from 'express';
import connectDB from './config/dbConnect.js';

const conexao = await connectDB();

conexao.on('error', (erro) => console.error('Erro na conexão', erro));
conexao.once('open', () => console.log('Conexão com DB bem sucedida'));
import mongoose from 'mongoose';

async function connectDB() {
    await mongoose.connect(process.env.DB_CONNECTION_STRING);
    return mongoose.connection;
}

export default connectDB;
1 resposta

Olá, Daniel! Tudo bem?

Analisando os trechos de código que você compartilhou, notei que eles seguem bem a estrutura passada em aula, mas tem alguns pontos de verificação e ajuste que você fazer para certificar que a conexão seja estabelecida com sucesso.

  1. Verifique a String de Conexão: Certifique-se de que a string de conexão no seu arquivo .env está como a apresentada abaixo:

    STRING_CONEXAO_DB="mongodb+srv://seu_usuario:senha@cluster.vk10mjl.mongodb.net/livraria"
    
  2. Variável de Ambiente: Você acabou esquecendo de importar a biblioteca dotenv no código onde você faz usa da string de conexão que está presente no arquivo .env. Aqui está um exemplo de deve ser feita a importação:

    import mongoose from 'mongoose';
    import dotenv from 'dotenv';
    dotenv.config();
    
    async function connectDB() {
        await mongoose.connect(process.env.STRING_CONEXAO_DB);
        return mongoose.connection;
    }
    
    export default connectDB;
    

Se após essa verificação e ajuste o problema persistir, recomendo que você compartilhe todo o seu projeto para que eu realize testes a fim de identificar o que está causando essa situação.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software