La solución más simple es almacenar (almacenar en búfer) las operaciones en su aplicación y enviarlas todas juntas a MongoDB cuando se ejecuta el punto final de confirmación.
Técnicamente, puede administrar manualmente el ciclo de vida de las transacciones en su aplicación e implementar transacciones que abarquen solicitudes web, pero esto 1) será bastante incómodo y 2) perderá el manejo de varios errores transitorios que el controlador hace por usted en la API withTransaction.
Para hacer esto:
- Familiarícese con las especificación de sesiones
- Familiarícese con la especificación de transacciones
- Lea especificaciones convenientes de tx api para que sepas lo que no obtendrá gratis, si su cliente pregunta por qué está exponiendo errores que los controladores no
- Revise el código en su controlador que implementa estas especificaciones
- Implemente suficiente administración de sesiones y transacciones para sus requisitos en su aplicación
Podría ser más fácil bifurcar y parchear el controlador, pero esto obviamente tiene otros problemas que resultan de que su base de código diverge de la base de código oficial del controlador.