A solução mais simples é armazenar (buffer) as operações em seu aplicativo e enviá-las todas juntas ao MongoDB quando o endpoint de confirmação for executado.
Tecnicamente, você pode gerenciar manualmente o ciclo de vida da transação em seu aplicativo e implementar transações abrangendo solicitações da Web, mas isso 1) será bastante complicado e 2) você perderá os vários tratamentos de erros transitórios que o driver faz para você na API withTransaction.
Para fazer isso:
- Familiarize-se com a especificação de sessões
- Familiarize-se com a especificação de transações
- Leia o especificação conveniente da API tx para que você saiba o que não vai estar recebendo de graça, se seu cliente perguntar por que você está expondo erros que os motoristas não fazem
- Revise o código em seu driver implementando essas especificações
- Implemente gerenciamento de sessão e transação suficiente para seus requisitos em seu aplicativo
Pode ser mais fácil fazer um fork e corrigir o driver, mas isso obviamente tem outros problemas resultantes de sua base de código divergindo da base de código oficial do driver.