Синхронизация с Couchbase Lite через Couchbase Sync Gateway не видит никаких документов (проблема с каналом?)

Я пытаюсь синхронизировать корзину Couchbase с сервера с приложением iOS с помощью Couchbase Sync Gateway и Couchbase Lite для iOS.

Пока я работаю с ведром-образцом для пива, которое поставляется с Couchbase.

На моей виртуальной машине Ubuntu 12.04 LTS шлюз синхронизации Couchbase запускается с помощью этого файла конфигурации:

{
   "interface":":4984",
   "adminInterface":":4985",
   "log":["REST"],
   "databases":{
      "sync_gateway":{
         "server":"http://localhost:8091",
         "bucket":"beer-sample",
         "sync":`function(doc) {channel(["public"]);}`,
         "users": {
             "GUEST": {"disabled": false, "admin_channels": ["public"]}
          }
      }
   }
}

Я намерен запустить его, не беспокоясь сначала об аутентификации, поэтому пользователь GUEST.

Я также изменил некоторые примеры, чтобы убедиться, что назначение каналов не зависит от документов, поскольку в сегменте примера нет назначения каналов:

"sync":`function(doc) {channel(["public"]);}`,

Я включил код из https://github.com/couchbaselabs/ToDoLite-iOS/blob/master/TodoLite7/CBLSyncManager.m в мой собственный примерный проект, и после небольших попыток iOS действительно может подключиться к коннектору.

NSLog в строке 168 дает мне следующий вывод:

[1026:60b] SYNCMGR: active=0; status=1; 0/0; (null)
[1026:60b] SYNCMGR: active=1; status=3; 0/0; (null)
[1026:60b] SYNCMGR: active=0; status=2; 0/0; (null)

… И я считаю, что синхронизация (0 документов) прошла успешно.

Почему Couchbase Sync Gateway не передает никаких документов в Couchbase Lite? Я явно что-то упускаю. Я подозреваю, что каналы настроены неправильно.

Любая помощь будет оценена по достоинству, и если ваш ответ решит мою проблему, я приму ее.


person flo von der uni    schedule 23.04.2014    source источник


Ответы (1)


так как это было повторно опубликовано с нашего портала сообществ, я закрою этот вопрос здесь повторной публикацией в ответ, и дальнейшие вопросы должны быть на нашем портале сообществ.

Основываясь на вашем описании проблемы и конфигурации, вам все равно необходимо настроить шлюз синхронизации, чтобы он знал, что существует существующая корзина Couchbase Server, с которой необходимо выполнить синхронизацию.

Это недавняя функция, добавленная после нашей бета-версии 2; в настоящее время мы работаем над документацией, которая временно доступна здесь: https://github.com/couchbase/sync_gateway/wiki/Bucket-Shadowing

Продолжение обсуждения можно найти здесь: http://www.couchbase.com/communities/q-and-a/sync-couchbase-lite-through-couchbase-sync-gateway-doesn%E2%80%99t-see-any-documents-channel-issue

person Jessica Liu    schedule 23.04.2014
comment
Большое спасибо за быстрый ответ! Это решило мою проблему. Я только что вернулся сюда, чтобы добавить ссылку на ваш форум, но вы уже ответили здесь. - person flo von der uni; 23.04.2014