Из того, что я заметил:
- Для каждого создаваемого вами документа также создается документ менеджера версий. Этот менеджер ревизий отслеживает последнюю ревизию, а также ведет историю всех ревизий в массиве.
- Каждый раз, когда вы обновляете документ, создается новый документ (почему ууууу ???). Последний указатель документа менеджера версий указывает на этот новый документ и добавляет предыдущий документ в свой список истории изменений.
- Таким образом, при каждой операции обновления Sync-Gateway добавляет новый документ, а также изменяет документ менеджера версий.
Это очень неэффективный способ управления версиями, когда для управления версиями сохраняется копия всего документа, а не только diff, поскольку это займет много места. (Например: для выполнения 500 нажатий на один элемент задачи в примере приложения GrocerySync-Android требуется 8,03 МБ дискового пространства. Кроме того, размер документа диспетчера версий превышает 2,5 КБ, и я получаю сообщение о том, что вы не можете изменить документ размером более 2,5 кб. Почему ????)
Вопросов:
- О чем документ _sync: local:?
- Можно ли отключить это поведение по умолчанию при создании нового документа при обновлении и сохранении только последней копии. (Одним из способов может быть удаление более старых версий в клиенте, но я полагаю, что это не повлияет на документ менеджера версий.)