2017-10-09 8 views
2

私はパーティションコレクションを持っており、ストアドプロシージャを使用して2つの異なるドキュメントに対して読み取り/アップセル操作を実行しようとしています。これらの2つの文書は必ずしも同じパーティションにあるとは限りません。他のドキュメントを更新するときに、そのドキュメントの1つを更新する必要があります。CosmosDB:ストアドプロシージャを使用したドキュメントでトランザクションを実行できません

私の理解によれば、ストアドプロシージャはコレクションの単一のパーティションで実行できます。私は単一のトランザクションで両方のドキュメントを更新する必要があります。

+0

ありがとうございました! – David

+0

こんにちは、すべてのアップデートは今ですか? –

答えて

3

コレクションストアドプロシージャがに対して登録されている場合は、トランザクションは、コレクション内のすべてのドキュメント にスコープされ、 単一パーティションのコレクションです。コレクションがパーティション化されている場合、 ストアドプロシージャは、 シングルパーティションキーのトランザクションスコープで実行されます。各ストアドプロシージャの実行には、 のトランザクションが実行されなければならないスコープに対応するパーティションキー値を含める必要があります。

上記のhereの説明を参照してください。

単一のトランザクションでパーティション間のドキュメントを更新できないようです。

それ以外の場合は、パーティションキーを定義した後でパーティションキーを削除および変更できないため、データベースpartitioning schemeを再調整する必要があります。

関連する問題