1

Итак, у меня есть config.json на моем couchserver, работающем локально на моей машине.Couchbase nodejs как извлекать данные из ведомого шлюза синхронизации в серверное ведро

{ 
    "couchbase": { 
     "server": "127.0.0.1:8091", 
     "bucket": "restful-sample", 
     "username": "restful-sample", 
     "password": "123456" 
    } 
} 

И это syncgw-config.json как установка шлюза синхронизации.

{ 
    "interface": ":4987", 
    "adminInterface": ":4988", 
    "log": ["CRUD", "CRUD+", "HTTP", "HTTP+", "Access", "Cache", "Shadow", "Shadow+", "Changes", "Changes+"], 
    "databases": { 
     "mycure": { 
      "server": "http://localhost:8091", 
      "bucket": "sync_gateway", 
      "sync": `function(doc) {channel(doc.channels);}`, 
      "users": { 
       "GUEST": { 
        "disabled": false, 
        "admin_channels": ["*"] 
       } 
      }, 
      "shadow": { 
       "server": "http://localhost:8091", 
       "username": "restful-sample", 
       "bucket": "restful-sample", 
       "password": "123456" 
      } 
     } 
    } 
} 

Хорошая новость заключается в том, я могу вставить данные в моей restful-sample ведро и он синхронизируется или «слежка» на мой мобильный телефон с помощью выше настройки шлюза синхронизации. Все работает нормально, все вставленные данные синхронизируются с мобильным приложением.

Но плохая новость заключается в том, что это не работает наоборот, когда я добавить данные из мобильного приложения эти данные не синхронизируются автоматически в restful-sample ведра, но эти данные вставляются в синхронизации шлюза ведра успешно , Я пропустил какой-то конфиг? Я должен быть честным здесь, я не думаю, что документация кумбазы настолько ясна.

BTW Я следил за этим fine cean-stack tutorial, если вы хотите увидеть фактические запросы, происходящие на сервере.

+0

Когда вы говорите, что «не синхронизируется автоматически с ведром сервера», вы имеете в виду ведро sync_gateway или ведро резервной выборки? Вы не должны ожидать, что он перейдет к последнему, только к первому. – borrrden

+0

О, извините, да, к веществу 'restful-sample', данные были вставлены в' sync_gateway', но не в 'restful-sample'. @borrrden Итак, как мне синхронизировать? – CENT1PEDE

+1

Я думаю, что ошибался в последней части. Страница wiki на теневом ковке подразумевает, что она выполняет оба способа. Тем не менее, вы можете настроить себя на много горя, если вы используете это для нового проекта. Вы считали, что вместо этого используете PouchDB? Это реализация javascript базы данных, совместимая с шлюзом couchbase lite/sync. Затенение ковша - это способ использовать существующие данные в новом проекте, а не создавать новый проект. – borrrden

ответ

0

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

Рекомендуемый способ доступа к данным Sync Gateway с сервера заключается в использовании Sync Gateway REST API. С помощью этого API вы можете выполнять операции CRUD или access view. Это гораздо менее удобно, чем доступ к серверу Couchbase с SDK, который я согласен, и многие функции мизируют (например, N1QL).