Organização da camada de dados
Escolha uma estrutura simples, modular ou compartilhada para evoluir suas collections.
Organização da camada de dados
A melhor estrutura é a menor estrutura que ainda deixa seu projeto claro.
Padrões recomendados
index.ts
member.ts
index.ts
É o padrão sugerido pela documentação: src/index.ts usa a database, src/database/index.ts centraliza a instância e src/database/schema/member.ts guarda a interface com o schema.
index.ts
member.ts
order.ts
service.ts
service.ts
index.ts
Boa escolha quando os domínios crescem, mas você ainda quer manter a database centralizada em src/database/index.ts.
index.ts
member.ts
index.ts
src/index.ts
src/index.ts
Útil quando múltiplas aplicações compartilham a mesma camada de dados e o mesmo contrato de domínio.
Regras práticas
- mantenha
Schemaperto do domínio que ele representa - exponha collections prontas em um ponto central (
src/database/index.tsou módulo equivalente) - evite espalhar
new Database(...)por vários arquivos - concentre regras de negócio em serviços, não dentro dos schemas
Se você ainda está começando, prefira o padrão simples. Ele já cobre muito bem a maioria dos projetos e combina com o fluxo sugerido nesta documentação.