どちらの操作を実行するか判断に悩む場合があります。操作を実行するとエラーが返されます。操作を実行するとエラーが返されます。どちらを実行するかを決定します。これを実装した場合の一般的な例を次に示します。}}この方法はほとんどの場合に適用できますが、問題点もあります。レコードが存在しているかどうかをデータベースに必ず確認するため、要求単位が余分に必要となることです。段階で実行されるため競合状態に陥るおそれがあります。いうクエリを実行し、両方のプロセスで「ドキュメントが存在しない」という結果を受け取ったとします。操作が実行され、競合に勝ったほうのプロセスではレコードが挿入されてこの操作が正常に処理されますが、もう片方のプロセスでは既にレコードが挿入されているため処理は失敗に終わります。操作がサポートされることが発表されました。つの問題が解決されます。使用すると、どちらの操作を実行するかを決定する前にドキュメントの有無を確認する必要がなく、データベースがこの決定を行います。この処理はアトミックに行われるため余分な要求単位が発生せず、また競合状態に陥るおそれもなくなります。プロパティを使用して、ドキュメントを新規作成するか既存のドキュメントを置換するかを判断します。ドキュメントを一部のみ更新することは現時点では不可能で、必ずドキュメント全体が置換されることに注意する必要があります。要求の内容によりドキュメント全体が置換されます。使用した場合、上記のコードは次のようになります。どちらの処理が実行されたかを示します。