Что делает UpsertItemAsyn c в клиенте. NET Cosmos DB? - PullRequest
0 голосов
/ 04 августа 2020

Этот вопрос относится к Microsoft.Azure.Cosmos v3.11.0.

Документация из UpsertItemAsync не определяет точную семантику для операции «upsert». В частности, это вставка + замена или вставка + (частичное) обновление? (Я подозреваю первое, учитывая, что этот выпуск все еще открыт на сегодняшний день.)

1 Ответ

4 голосов
/ 04 августа 2020

CreateItemAsync создаст новый элемент, но завершится ошибкой, если элемент с таким же идентификатором уже существует.

ReplaceItemAsync заменит существующий элемент с тем же идентификатором, но не удастся, если этот элемент не 't существует.

UpsertItemAsync объединяет две вышеуказанные операции, поэтому он либо создаст, либо заменит любой элемент с указанным идентификатором. Так что это не «вставка + замена». Вместо этого это «вставить или заменить» .

Насколько я знаю, Cosmos не поддерживает «частичные обновления».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...