より簡単な解決策は、アプリケーションに操作を保存(バッファリング)し、コミットエンドポイントの実行時にそれらをすべてまとめてMongoDBに送信することです。
技術的には、アプリケーションでトランザクションライフサイクルを手動で管理し、Webリクエストにまたがるトランザクションを実装できますが、これは1)非常に厄介で、2)withTransactionAPIでドライバーが行うさまざまな一時的なエラー処理が失われます。
これを行うには:
- セッションの仕様>
- トランザクションの仕様 をよく理解してください。
- をお読みください便利なTXAPI仕様 何をしないかがわかるようにします ドライバーが表示しないエラーを公開している理由を顧客から尋ねられた場合は、無料で入手できます
- これらの仕様を実装するドライバーのコードを確認します
- アプリケーションの要件に合わせて十分なセッションおよびトランザクション管理を実装します
ドライバーをフォークしてパッチを適用する方が簡単かもしれませんが、これには明らかに、コードベースが公式のドライバーコードベースと異なることに起因する他の問題があります。