0

MongoDB C#ドライバー(公式フォーム10gen)を使用して、次のコードを実行しています。

using (database.RequestStart()) {    
    collection.Save(object);    
}

リクエストを停止し、メソッドの後に既存の実行された操作をロールバックする方法を知りたいですRequestStart()

よろしくお願いします!

4

1 に答える 1

0

ウェブ全体を検索したところ、これらのメソッドは接続パフォーマンスを向上させるだけで、操作を保存しないことがわかりました。

MongoDB操作の概念は、1 対 1 の操作で実行されます。

このRequestStart()メソッドは、再利用するために現在の接続状態のみを取得します。既存の接続が開いていない場合は、新しい接続を開き、RequestDone()メソッドが呼び出されるまでのすべての操作で現在開いている接続が使用されることをドライバーに伝えます。

一方、MongoDBには2 フェーズ コミットを実行する機能があります。これは、「SQL の概念」ではトランザクションのようなパターンです。この場合、MongoDB C# ドライバーはこのパターンを実装する必要があります。または、コマンド アダプターを開発して自分で実装することもできます。

于 2012-12-14T19:20:14.790 に答える