Операция Rethinkdb insert
имеет несколько режимов разрешения конфликтов при попытке вставить документ. который (на основе первичного ключа) уже существует. то есть:
Возможные значения: «ошибка», «заменить» или «обновить». «ошибка»: не вставлять новый документ и записывать конфликт как ошибку. Это значение по умолчанию. «заменить»: полностью заменить старый документ новым. «обновить»: обновить поля старого документа с помощью полей из нового.
Хотя я понимаю техническую разницу между «заменой» и «обновлением», мне любопытно функциональное различие (если оно есть) между ними.
Например, я подумал, что, возможно, одно из двух не привело к событию в ленте изменений, когда вставленный документ точно такой же, как уже существующий документ, но, похоже, это не так.
Итак, в чем функциональная разница между двумя вариантами?