Разрешение конфликтов репликации для удаленных документов в CouchDB

Способ разрешения конфликтов репликации, рекомендуемый официальной документацией:

Читайте противоречивые ревизии, используя документы_conflicts поле (например, через вид)Получить документы для всех перечисленных ревизийВыполнить слияние для конкретного приложенияУдалить нежелательные ревизии

Проблема возникает, когда я хочу объединитьудаленный документы. Они не появляются в_conflicts поле, но в_deleted_conflicts, Если я объединяю только используя_conflicts поле, и документ будет удален в локальной базе данных и отредактирован в удаленной реплике, он будет воскрешен локально при репликации. Моя модель приложения предполагает, что удаление всегда имеет приоритет при объединении: удаленные документы остаются удаленными независимо от того, с какими правками они конфликтуют.

Итак, на первый взгляд, самое простое, что нужно сделать, это проверить, что_deleted_conflicts не пусто, и если оно не пусто, удалите документ, верно? Ну ... проблема в том, что это может также содержать удаленные ревизии, которые были введены путем разрешения конфликтов редактирования на шаге # 4, поэтому значение_deleted_conflicts неоднозначно в этом случае.

Какие's канонический способ обработки конфликтов удаления в CouchDB (если есть), который неt включает в себя такие грубые вещи, как пометка документов как удаленных и фильтрация на уровне приложений?

Ответы на вопрос(1)

Ваш ответ на вопрос