Nexus Docs

src/config/database.ts

src/config/database.ts

Selecione outros documentos nas abas ou no menu lateral.

src/config/database.ts

Versão: 1.0
Última atualização: 26 de agosto de 2025
Responsável: Ariel Spencer & Fabrício Bahiense

📋 Descrição

O que faz?

Estabelece conexão com o banco de dados MongoDB usando Mongoose, configurando parâmetros de conexão e tratamento de erros.

Por que existe?

Centraliza a lógica de conexão com o banco de dados, com configuração consistente e tratamento de erros de conexão.

Como funciona?

Utiliza a URI do banco definida em variáveis de ambiente, adiciona parâmetro de readPreference=primary para leituras do nó primário, e estabelece conexão via Mongoose.

🔧 Documentação Técnica

Arquitetura

Aplicação  connectToDatabase()  MongoDB (Primary Node)

               

           Logs de Status + Error Handling

Tecnologias Utilizadas

  • ODM: Mongoose
  • Banco: MongoDB
  • Runtime: Node.js com TypeScript

Estrutura de Pastas

backend/                 
				    # Projeto
├── src/                 
				  # Source
        ├── config/            # Configurações
                └── database.ts   # Conexão com MongoDB

Configuração

Variáveis de Ambiente

DB_URI=mongodb://[user]:[password]@[host]:[port]/[database]

Como usar

import { connectToDatabase } from
				'./config/database'

// No início da aplicação
async
				function startServer() {

				 try {

				   await connectToDatabase()

				   // Iniciar servidor após conexão
				bem-sucedida

				 } catch (error) {

				   console.error('Falha ao conectar com
				banco:', error)

				   process.exit(1)

				 }
}

Parâmetros de Conexão

  • readPreference: 'primary' - Força leituras do nó primário para consistência
  • URI automaticamente configurada com readPreference=primary query parameter

📦 Dependências

Dependências Principais

Pacote

Versão

Finalidade

mongoose

^8.3.1

ODM para MongoDB

Dependências Internas

  • env - Configuração de variáveis de ambiente

🐛 Troubleshooting

Problemas Comuns

Erro de Conexão

Sintomas: Error connecting to MongoDB
 Causa: URI inválida, credenciais incorretas ou MongoDB
				indisponível
 Solução: Verificar DBURI nas variáveis de ambiente e
				conectividade de rede

Read Preference Issues

Sintomas: Dados inconsistentes em leituras
 Causa: Configuração de read preference
				inadequada
 Solução: O código já força readPreference=primary para máxima consistência

📚 Referências e Links Úteis


Última revisão: 26 de agosto de 2025 por Ariel Spencer