Prisma7 min de leitura
Por que usei Prisma com MongoDB (e os problemas que encontrei)
Tipagem forte no Mongo parece sonho, mas tem preços. Uma análise honesta depois de 8 meses usando Prisma em produção.
#prisma#mongodb#typescript
Spoiler: eu recomendo. Mas com ressalvas.
O que o Prisma acerta
Tipagem ponta a ponta é viciante. Quando seu schema.prisma dita os tipos do backend até o front, bugs de forma de dado basicamente somem.
model Product {
id String @id @default(auto()) @map("_id") @db.ObjectId
sku String @unique
name String
variants Variant[]
}
Onde ele dói no Mongo
- Transações multi-documento exigem replica set. Localmente isso é chato.
- Agregações complexas não têm API do Prisma. Você cai para
$runCommandRawe perde tipagem. - Mudanças de schema sem migrations: você precisa de uma estratégia própria de versionamento de documento.
Minha regra prática
Uso Prisma para 95% das queries CRUD, e deixo um serviço paralelo com o driver oficial para agregações pesadas (relatórios, saldo de estoque, dashboards).
// Prisma para o caminho feliz
const product = await prisma.product.findUnique({ where: { sku } });
// Driver nativo para o que o Prisma não cobre bem
const balance = await db.collection("movements").aggregate([...]).toArray();
Não existe bala de prata. Existe bala certa para o alvo certo.
Gostou do post?
Compartilha com alguém que tá resolvendo o mesmo problema.