Actualizaciones y compatibilidad en MongoDB | Nicolás Garzón
Inicio Wiki MongoDB Actualizaciones y compatibilidad Volver a MongoDBMongoDB
Actualizaciones y compatibilidad Explica cómo actualizar MongoDB, drivers y herramientas con revisión de compatibilidad, feature compatibility version, pruebas, backups y rollback.
Última actualización Actualizada 25 de jul de 2026
Actualizar MongoDB no consiste únicamente en cambiar binarios. Debes coordinar versión del servidor, Feature Compatibility Version —FCV—, drivers, Mongoose, herramientas, topología y comportamiento de la aplicación.
Nota anteriorProducción Nota siguiente Antipatrones de MongoDB Texto
Copiar compatibilidad y backup
→ staging
→ upgrade de binarios
→ validación
→ FCV
→ adopción de featuresEl upgrade seguro preserva una ventana de rollback hasta que exista evidencia suficiente.
MongoDB Server;
FCV;
driver Node.js;
Mongoose;
runtime Node.js;
mongosh y Database Tools;
backup agents;
monitoring;
operadores o plataforma administrada.
Una combinación puede conectar y aun tener APIs, defaults o features no soportados.
Antes de actualizar revisa:
breaking changes;
removed features;
cambios de defaults;
query planner y execution engine;
índices;
authentication/TLS;
storage engine;
sharding y replication;
commands y parámetros;
deprecations;
requisitos de upgrade path.
No bases un upgrade en un tutorial de otra versión.
MongoDB soporta rutas específicas entre versiones. Saltar releases mayores puede no estar permitido.
Texto
Copiar versión actual
→ versión intermedia requerida
→ versión objetivoCada etapa necesita backup, validación y observación.
FCV controla qué características persistentes y comportamientos compatibles puede usar el cluster.
Después de actualizar binarios, el cluster suele mantener FCV anterior para conservar compatibilidad mientras validas.
Texto
Copiar binarios nuevos + FCV anterior
→ ventana de evaluación
→ FCV nuevoNo cambies FCV primero. Activar el nuevo FCV puede introducir formatos o comportamientos que dificulten downgrade.
En replica sets, cuando la ruta lo soporta, se actualizan miembros de forma controlada:
confirma salud y replication lag;
actualiza secondaries uno por uno;
espera que cada uno vuelva sano;
realiza stepdown controlado;
actualiza el antiguo primary;
valida elections y majority;
conserva FCV anterior;
observa.
El orden exacto depende de la versión y plataforma.
config server replica set;
shards;
routers mongos;
balancer;
compatibilidad de versiones mezcladas;
FCV;
backups y metadata.
Sigue el procedimiento soportado. Un componente olvidado puede causar errores de routing o administración.
Actualiza el driver por separado cuando sea posible. Revisa:
soporte del servidor origen y destino;
defaults de retries;
pool behavior;
timeouts;
BSON serialization;
APIs eliminadas;
TypeScript;
TLS.
Despliega primero una versión de driver compatible con ambos servidores para desacoplar riesgos.
Mongoose incluye su propia matriz de compatibilidad y cambios de casting, validation, middleware, strictQuery y TypeScript.
save y updates;
lean/populate;
transactions;
plugins;
indexes;
hot reload;
error handling.
No actualices MongoDB, driver y Mongoose en una sola release sin una razón fuerte.
copia anonimizada o sintética de volumen real;
índices reales;
validators;
query shapes críticas;
tenants outlier;
transacciones;
Change Streams;
backups/restores;
failover;
cargas combinadas.
Un staging vacío solo valida que el proceso inicia.
Un upgrade puede cambiar el winning plan. Conserva baseline de:
p95/p99;
keys/docs examined;
index usage;
slow query rate;
CPU/cache/disk;
replication lag.
Compara después y revisa query shapes críticas con explain().
crea backup;
verifica integridad;
prueba restore con versión compatible;
confirma KMS/key vault;
documenta tiempo;
preserva punto anterior.
Un backup creado por una versión puede tener requisitos específicos para restore.
No todo upgrade es reversible después de activar FCV o usar features nuevas. Documenta:
último punto de retorno;
pasos soportados;
datos o índices incompatibles;
tiempo estimado;
cuándo restaurar backup en lugar de downgrade.
No prometas rollback inmediato sin practicarlo.
Después del upgrade, activa features nuevas gradualmente:
Texto
Copiar upgrade estable
→ FCV nuevo
→ feature flag en staging
→ canary
→ rolloutAsí separas riesgo de infraestructura del riesgo de funcionalidad.
Upgrades y cambios de topología pueden afectar consumidores. Prueba:
resume tokens previos;
oplog window;
reconexión;
invalidation events;
compatibilidad del driver.
No descubras durante producción que el worker no puede reanudar.
Database Tools tienen lifecycle independiente. Verifica mongodump, mongorestore, import/export, monitoring agents y scripts.
Una herramienta antigua puede omitir metadata o no comprender una feature nueva.
En servicios administrados, la plataforma automatiza parte del proceso. Aun debes:
revisar maintenance window;
probar driver y app;
observar queries;
validar backups;
conocer política de versiones;
coordinar FCV/features;
preparar rollback de aplicación.
owner;
ventana;
impacto esperado;
freeze de cambios;
métricas de éxito;
abort criteria;
canales de comunicación;
post-change review.
Un upgrade técnico sigue siendo un cambio de producción.
secondary no puede hacer initial sync;
driver viejo pierde compatibilidad;
plan nuevo empeora tenant outlier;
FCV se cambia demasiado pronto;
backup agent no soporta versión;
plugin Mongoose falla;
Change Stream no reanuda;
downgrade bloqueado por feature nueva;
maintenance coincide con migration.
saltar versiones;
actualizar todo a la vez;
cambiar FCV inmediatamente;
no probar restore;
staging sin datos reales;
ignorar drivers/tools;
asumir que rolling significa cero impacto;
no medir query plans;
activar features nuevas durante el mismo cambio;
no definir abort criteria.
Construye matriz de compatibilidad.
Lee release notes completas.
Prueba ruta en staging.
Restaura backup.
Actualiza driver compatible.
Simula rolling upgrade/failover.
Compara explain y SLOs.
Conserva FCV anterior durante observación.
Prueba downgrade antes de FCV.
Activa features gradualmente.
Un upgrade seguro separa compatibilidad, binarios, FCV y nuevas features. Primero prepara drivers y backups, después actualiza la topología, valida bajo carga y solo entonces cambia FCV. El rollback depende de lo que ya hayas activado o persistido.
Comprueba lo aprendido
¿Qué controla FCV?
¿Por qué actualizar primero un driver compatible con ambas versiones?
¿Qué debes comparar en query plans?
¿Cuándo puede dejar de ser posible un downgrade?
¿Qué cambia en sharding?
¿Por qué separar features nuevas del upgrade?