fundo
Evite esse erro na conexão com o banco de dados (mongoDB + expressJS).

Vamos supor que você tenha um blog com vários posts e você acesse seu site, mas ele ainda não se conectou com a base de dados por algum motivo mas a página já carregou. É raro de acontecer, mas para evitar que isso aconteça podemos utilizar um recurso bastante útil que o express nos oferece que é o método emit().

Vamos entender isso na prática, ou seja, abre tua IDE, bebe esse café que está esfriando aí e vamos nessa!

Para entender um pouco mais do que vai acontecer aqui, caso não saiba nada de express ainda, pode conferir nosso post de como dar seu primeiro hello world usando o expressJS clicando [aqui]. 

Normalmente para criar uma aplicação com express montamos esse modelo: 

E ok! Está correto, agora vamos conectar a um model. Para esse exemplo usaremos o mongoDB (para instalar pode usar o comando npm i mongoose ) e usaremos o dotenv também (npm i dotenv) para que possamos trabalhar com segurança e não mandar os seus dados para o repositório e/ou deixá-los públicos. 

E pra que você não se perca nesse tutorial eu vou te guiando pelas linhas, então quando eu disser linha 2, por exemplo, você já sabe de qual  linha eu estou falando. 

Linha 2: Caso você ainda não saiba trabalhar com dotenv, não perde tempo e clica [aqui] que eu te ensino. 

Linha 7: Salvamos nessa variável a conexão com o banco de dados que é o que vamos utilizar no parâmetro do método connect() (linha 10) mas antes…

Linha 8: Temos que “chamar” o mongoose que instalamos anteriormente. 

Linha 10: Conectamos com a base de dados e usamos alguns parâmetros que não iremos entrar em detalhes neste tutorial. Se quiser pode procurar antes de criarmos um post sobre isso acessando a doc do mongoDB. Como sabemos que a conexão retorna uma promisse vamos usar o then/catch ao nosso favor. 

Linha 13: Usamos o método emit() para emitir uma mensagem qualquer quando o banco de dados se conectar, que nesse caso usamos “conectado”. 

Linha 19: agora vamos usar o método on() para escutar nossa mensagem. E assim que ele recebe a palavra que colocamos no emit, ele pode executar algo,que nesse caso será a função que vai deixar nosso aplicação “rodando” (app.listen(...)). 

E aí gostou dessa dica? Agora você pode evitar alguns problemas que são simples mas que podem trazer um certo desconforto. 

Nos siga no instagram para mais dicas como essa! 

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *