私の目標は、ストアドプロシージャまたはトリガを記述して、ドキュメントを読み込み、1つのトランザクションでメタデータドキュメントを更新できるようにすることです。DocumentDbストアドプロシージャとオプティミスティック同時実行
コレクションに順次書き込む場合、これは意図したとおりに動作することがわかりますが、複数のストアドプロシージャを並行して実行している場合は、etagsを比較するスクリプトを手動で設定する必要がありますか?サーバー側のスクリプト?
this articleでいくつかの例を読んだところ、読み込み操作の途中でetagが変更された場合、トランザクションが自動的に失敗するという印象を受けました。 しかし、this exampleでは、著者はrequestOptionsオブジェクトにetagを含め、それをreplaceDocumentメソッドに渡します。同様に、クライアントサイドで.NET SDKを使用しています。
これらの不一致により私は混乱しました。だから私の質問です:サーバー側のスクリプトの場合は、楽観的同時実行を実施するには、requestOptionsオブジェクトにetagを含める必要がありますか、それはデフォルトの動作ですか?
これは良い質問です。私はいつも私の[sprocs](https://github.com/lmaccherone/documentdb-utils/blob/master/sprocs/updateSomeDocuments.coffee)でetagsを使用していました。(恐らく防御的かもしれませんが)孤立して実行され、読み込みと書き込みが一貫性のないビューを見る機会がないため、必要ではないと思うようになります。 –