Есть как минимум несколько возможностей.
Если вы ожидаете надежного сетевого соединения или можете справиться с ошибками самостоятельно, вы можете добиться этого с помощью прямого вызова REST для Sync Gateway.Конечно, вы всегда можете написать свой собственный REST-сервер, который также напрямую взаимодействует с Couchbase Server.
Второй способ основан на более старой версии Couchbase Lite.Couchbase Lite 2.x является основной переписью продукта.Начиная с текущей версии доставки (2.1) он не поддерживает этот подход, поэтому вам нужно будет использовать версию 1.x (1.3 или более позднюю, IIRC).Подробнее о том, как подойти к этому с помощью 2.1.
, см. Ниже. Настройка репликации только для push.После репликации просмотрите все документы и удалите все те, которые еще не ожидали.(При этом используется метод isDocumentPending
в классе Replication
. Это ключевой элемент, недоступный с 2.1.) Вы можете запустить репликацию одним выстрелом и сделать это после завершения репликации, или контролировать состояние репликации непрерывной репликации..
Очистка документа из локальной базы данных CB Lite эффективно заставляет его действовать так, как если бы он никогда не существовал на этом устройстве.Запуская репликацию только для отправки, вам не нужно беспокоиться о том, что документы будут отправлены обратно на устройство.
Используя 2.1, вы не можете так же легко определить, был ли документ реплицирован.Таким образом, вам нужно запустить репликацию до завершения, избегая состояния гонки с написанием чего-то нового.
Один из подходов здесь - это приостановить написание документов, запустить репликацию одним выстрелом, а затем очистить документы перед повторным запуском.Вы могли бы также что-то проработать с чередующимися базами данных или как-то самостоятельно отслеживать документы и т. Д.
Для полноты, если вы оказались в ситуации, когда у вас было смешанное использование, то есть вам нужно было только отодвинуть некоторые документыустройство и забыто, а некоторые синхронизируются, вы бы управляли этим через каналы Sync Gateway.