New article
When to use MongoDB in 2026 and when not to force it
This article brings the decision down to practical cases. It is not about whether MongoDB is good in the abstract, but about when its document model and flexible schema really improve the product and the operation.
Decision summary
The useful criterion is not ideological. It is to check whether the domain and the access patterns look like a document or like a network of relations.
When the team changes the model frequently
Flexible schema speeds up iteration when the product is still defining its final structure.
When the data travels as a document
Profiles, catalogs, content, configurations and aggregate-oriented APIs often benefit from the document model.
When the core of the system is relational
If almost all the value depends on relations, joins and schema governance, the document model is probably not your first option.
Choose MongoDB when it simplifies the model and access; discard it when it only complicates a relational problem
MongoDB is a very good option when the system lives on document aggregates, nested structures and frequent product changes. It is a bad idea to turn it into a universal solution if what you really need is a strong relational model or a distributed database in the style of Cassandra.
Catalog with changing variations and attributes
db.catalog.insertOne({
sku: "shoe-44",
title: "Trail Shoe",
variants: [
{ color: "black", size: 44, stock: 6 },
{ color: "green", size: 43, stock: 3 }
],
attributes: {
waterproof: true,
terrain: ["trail", "gravel"]
}
})This case fits well because the product is consumed as a document with arrays and attributes that can grow without restructuring half the schema.
Domain with intensive cross-relations
Alumno -> matriculas -> asignaturas -> profesores
Profesor -> departamentos -> horarios
Alumno -> becas -> convocatorias
Typical queries:
- combine several entities
- cross periods
- validate strict relational rulesHere the problem clearly smells like a relational model. MongoDB can model it, but it would not be the natural option if almost all the value comes from recomposing relations.