Qué cambia respecto a MongoDB

Las diferencias que más notarás al pasar de MongoDB a TeselaDB, casi todas garantías más fuertes.

TeselaDB

TeselaDB

Equipo de TeselaDB

2 min de lectura

  • MongoDB
  • compatibilidad
  • migración

TeselaDB implementa el protocolo de MongoDB 9.0, y la batería de compatibilidad compara sus respuestas con las de un servidor MongoDB real. Aun así, hay comportamientos que cambian. Casi todos son garantías más fuertes; unos pocos te piden revisar tu código.

Garantías más fuertes

  • Una búsqueda con $search ve todas las escrituras confirmadas antes de que empiece. No tienes que esperar a que el índice se ponga al día.
  • _id es único en todo el clúster. Un índice único también lo es, sin llevar la shard key como prefijo.
  • Las lecturas local y available devuelven siempre datos confirmados por la mayoría.
  • Las puntuaciones de búsqueda usan las estadísticas de toda la colección y son las mismas en todas las réplicas.

Lo que tienes que revisar

  • Un find sin sort devuelve los documentos en el orden de su clave. Si tu aplicación depende de otro orden, añade sort.
  • Lo que MongoDB marca como obsoleto en la versión 9.0 no existe, como $substr o filemd5. Cambia cada uso por su sustituto. Lo obsoleto que los drivers y mongosh siguen enviando, como isMaster, se mantiene.
  • Una clave que siempre crece, como un ObjectId o una fecha de creación, concentra las escrituras en el último rango. En colecciones con mucho tráfico, usa otra clave o un índice con teselaBuckets.

Lo que se añade

Cada nodo sirve además una API REST con OpenAPI y un servidor MCP para agentes. También hay parámetros de clúster propios, como teselaHistoryRetention, que fija cuánto historial se conserva. Nada de esto cambia el protocolo de MongoDB, así que solo lo usas si te conviene.

La lista completa, con qué hacer en cada caso, está en Diferencias con MongoDB, y el estado de cada orden y de cada operador o etapa, en Compatibilidad.

Todos los artículos