Couchbaselite - Можно ли не создавать документ ревизии для отдельного приложения

Я создаю «автономное» мобильное приложение с ReactNative и CouchbaseLite, используя библиотеку react-native-couchbase-lite.

Возможно ли иметь только один документ (т.е. только исходный документ) без какого-либо документа редакции, даже если я обновляю документ несколько раз. Например, если я делаю несколько обновлений для задачи ToDo, должен быть обновлен только исходный документ, и не нужно создавать дополнительный документ редакции.


person ugendrang    schedule 27.10.2017    source источник


Ответы (1)


Да. Вы можете настроить параметр maxRevTreeDepth. Установите его через экземпляр объекта базы данных. По умолчанию 20.

Редактировать: альтернативный подход может состоять в том, чтобы каждый раз создавать новый документ и удалять старый. Это было бы уместно в случае, когда нужно сохранить только одну редакцию некоторых документов. Это также потребует создания нового идентификатора документа каждый раз.

person Hod    schedule 27.10.2017
comment
maxRevTreeDepth нужно установить на «0» или «1», чтобы иметь только исходный документ и без каких-либо документов редакции? - person ugendrang; 28.10.2017
comment
Да, 0 я верю. Это означает, что вы теряете все возможности разрешения конфликтов, потому что без истории изменений вы не можете отследить происхождение документа. - person Hod; 29.10.2017
comment
Как указано выше, нежелательно устанавливать для maxRevTreeDepth низкое значение. В итоге вы получите кучу разрозненных деревьев и потеряете возможности разрешения конфликтов. Подробнее об этом можно прочитать здесь — в частности, в разделе о конфигурации максимальной глубины дерева ревизий - person rajagp; 18.11.2017