-1
間の要素を交換
はのは、オブジェクトを見てみましょうMongoDBのC#のドキュメント
Document1.Value -= X;
Document2.Value += X;
私は一度に二つの文書を選択することはできませんので、私はそれを2つのトランザクションにする必要があります(XをDocument1から取り出し、XをDocument2にします)。
転送中にリスク(クラッシュ、電源切断、エラーなど)を最小限に抑える最良の方法は何ですか。
私はこの記事に似た場所に「保留」システムを持っています。私はDocument1の特定の金額をDocument1のフィールドに保持し、次にDocument2を更新し、Document1の保留を解除または確認します。しかし、それは本当に理想的ではありません – Thomas
どんな解決策をとっても、システム内で回復可能な状態を達成しようとしています。これまでスリップルーティングやサガを使ってキューを使用してきました。あなたのソリューションは理想的ではないのはなぜですか? –
これは、私がスキャンして未完了の取引を見つけ出すツールを必要としていることを意味しています。再起動などの場合に備えてですが、これには完全な解決策はありません。 – Thomas