Skip to content

Patrones de modelado

MongoDB se modela segun acceso. La pregunta no es solo que entidades existen, sino como se leen y escriben.

Embedding

Guardar datos relacionados dentro del documento.

javascript
{
  _id: "order-1",
  customer_id: "customer-1",
  lines: [
    { sku: "A1", quantity: 2 }
  ]
}

Bueno cuando se lee como unidad.

Referencing

Guardar referencias entre documentos.

javascript
{
  _id: "order-1",
  customer_id: ObjectId("...")
}

Bueno para relaciones grandes o reutilizadas.

Bucket pattern

Agrupa eventos por ventana.

Util para series temporales o logs.

Outlier pattern

Separa casos excepcionales para evitar documentos gigantes.

Buenas practicas

  • Embebe cuando se lee junto.
  • Referencia cuando crece sin limite.
  • Evita arrays infinitos.
  • Diseña indices con las consultas.
  • Documenta decisiones de modelado.