Этого можно добиться, используя правильную конфигурацию каналов для каждого пользователя, чтобы определить доступ и ограничить пользователей.
Функция синхронизации позволяет предоставлять пользователям доступ к каналам на основе содержимого документов
В этом случае, когда вы создаете документ, его свойства должны указывать, что конкретный пользователь создал / отредактировал, и на основании этого запускается функция синхронизации для продолжения репликации.
Создайте массив тегов на основе типа документа, который интересует данного пользователя для репликации на мобильном устройстве, и передайте его в функцию синхронизации
{
"tags" : [
"fashion",
"outing",
"shopping"
]
}
и функция синхронизации будут аналогичны
function(doc) {
channel(doc.tags);
}
ПО клиентской части синхронизирует соответствующий пользовательский контент с помощью встроенного API репликации, который устанавливает интерес пользователя к теме для извлечения соответствующих данных. Затем репликатор будет взаимодействовать с данными из каналов. Создайте репликацию по запросу, как в коде Objective-C
CBLReplication *pull = [database createPullReplication: url];
pull.channels = @[@"outing",@"shopping"];
[pull start];
Если мы не установили конкретный канал, то, вероятно, все существующие данные будут извлечены из Sync Gateway.