MongoDBの書き込みエラーを処理するには(Mongo接続 dropのため)?私は複数のドキュメントの更新を行う必要があるので、基本的にはトランザクションの "Nothing or all"アプローチが必要です。私はエラーを捕まえて、更新が失敗した場合には挿入されたデータを元に戻すことができると考えました。しかし、MongoDB接続が切断された場合、アプリケーションの "uncaughtException"によって直接捕捉されます。どうすればこのシナリオを処理できますか?私が必要とするのは、マルチドキュメントのアップデートでは、「何もしない」だけです。Node.js:MongoDBの書き込みエラーを処理するには?
0
A
答えて
0
MongoDBにはトランザクションが存在しません。 the one @Alex-Blex posted in the commentsのような2つの段階のコミットを行い、徐々に更新を実行するなどのいくつかの回避策があります。 (これは誤った名称のビットです。その例は、7デシベルのOPSを持っています。)
MongoDBの接続が切断あれば、直接あなたがして、このために聞くことができるアプリケーション
の「uncaughtException」でキャッチです接続disconnected
とerror
イベント:
mongoose.connection.on("disconnected", function() {
// Lost connection to database
});
mongoose.connection.on("reconnected", ...);
私はあなたがあなたの「取引」の寿命のために1を設定することができたとしているが、それらの通常のリスナーは、アプリケーション全体です。あなたはreconnected
を待つ必要があり、データベース操作を再試行/再開する必要があります。いずれにしても、あなたは依然としてあなたのアプリケーションに依拠して、あなたの「取引」の全期間にわたって何らかの理由でクラッシュしないようにします。
トランザクションを信頼できるものにする必要がある場合は、おそらく別のデータベースを参照する必要があります。
関連する問題
- 1. Kinesis - 処理の書き込みProvisionedThroughputExceededException
- 2. 同時ファイル書き込みの処理
- 3. Apache Jenaで書込みエラーを処理する方法は?
- 4. ログファイルにセレンエラーを書き込んでエラーを処理する
- 5. iOS:オーディオ:サウンドファイルの読み込み、処理、書き込みに必要なコード+ MIDI処理
- 6. ドッカーボリュームへの書き込み/読み取りアクセスを処理する方法は?
- 7. スレッドを使用してソケットから複数の読み込み/書き込みを処理するには?
- 8. 読み込みエラー「イベント処理」ページ
- 9. ファイルを読み込み、処理し、チャンクでファイルに書き込む
- 10. openpyxl:データ検証処理なしの読み込み/書き込み
- 11. 一度のみエラー処理を処理するには?
- 12. JavaScriptのファイルへの同時書き込みの処理
- 13. Rubyソケットの部分書き込みを正しく処理する方法は?
- 14. Javaでのファイル書き込み中のIOException処理
- 15. ファイルの書き込みと戻り値のPythonマルチ処理
- 16. PHPの書き込みエラー
- 17. Python:ファイルへの書き込みと書き込みエラー
- 18. ASP/ASP.NET書き込み権限を処理する最も良い方法は?
- 19. 自己書き込み文字デバイスカーネルモジュールでページドメインフォールトを処理する方法は?
- 20. ネイティブWebView読み込みエラー処理に反応します
- 21. 書き込みキャッシュポリシーに書き込み/フェッチを書き込む
- 22. 測定時間スパーク操作(ロード、処理、書き込み)
- 23. txtファイルから読み込むときのエラー処理
- 24. イベントログ書き込みエラー
- 25. サーバftp書き込みエラー
- 26. mariadb:リレーログ書き込みエラー
- 27. PowerShell書き込みエラー
- 28. cython hidapi書き込みエラー
- 29. 遅延書き込みエラー
- 30. Kohanaログ - 書き込みエラー
mongodbにトランザクションはありませんが、[2フェーズコミット](https://docs.mongodb.com/manual/tutorial/perform-two-phase-commits/)アプローチを試すことができます。 –