text: // Iremos integrar nosso mongo com o node, com a nossa aplicação de fato.
  // Iremos utilizar um módulo chamado mongoose, que significa mapeamente de objeto relacional. Na prática iremos tratar os dados que iremos salvar no mongo como se eles fosse objetos, então, iremos fazer a instância de um objeto e depois salvar no mongo e assim criar um documento.
  
  // Nessa aula iremos instalar o mongoose e fazer a conexão dele no banco de dados.
  
  const express = require('express')
  const app = express()
  const port = 3000
  const mongoose = require('mongoose')
  
  // Aqui iremos criar a conexão dele com o banco de dados.
  // Devemos passar a url de endereço de conexão com o banco, nesse momento iremos utilizar o banco que instalamos no localhost.
  // Logo após o endereço colocamos logo o nome do banco de dados que queremos nos conectar.
  // Quando estamos utilizando o mongoose e nos conectarmos em um banco de dados que não existe ainda, não tem nenhum problema, se em algum momento colocarmos um dado nesse banco ele automaticamente irá criar esse banco de dados, então, ele só irá apontar pra um lugar que pode a vim existir no futuro.
  
  // Podemos ter várias maneira de acessar esse bando de dados (links) logo após nos conectarmos a ele.
  // Uma delas é associar nosso mongoose.connection a uma variável. So que como o mongoose.connection é assíncrono, quer dizer que pode levar algum tempo até conseguir a conexão de fato, para isso podemos ter listeners, podemos ter eventos no db para serem executados quando acontecer alguma coisa.
  // Aparecerá um mensagem dizendo que alguma coisa no nosso mongo, que ja não esta mais sendo usado dessa maneira, para corrigir isso devemos passar um comando depois da nossa rota. Então, quando criarmos uma conexão ja passamos essas configurações.
  mongoose.connect('mongodb://localhost/links', {
      useNewUrlParser: true, useUnifiedTopology: true
  })
  
  let db = mongoose.connection
  
  // Quando tiver um error irá executar o que estiver no console. 
  db.on('error', () => {
      console.log('Houve um error')
  })
  
  // O db.once irá ser executado somente uma vez. Quando nosso banco carregar de fato, ele irá executar o que estiver na função.
  db.once('open', () => {
      console.log(db)
  })
  
  app.get('/', (req, res) => res.send('Hello World'))
  
  app.listen(port, () => console.log(`Example app listening on port: ${port}`))
  