2016-06-21 51 views
1

因此,我的couchserver上有config.json我的機器上本地運行。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桶添加數據,但這些數據插入到同步網關鬥成功。我是否缺少一些配置?我在這裏要誠實,我不認爲couchbase的文件清楚。

順便說一句,我跟着這fine cean-stack tutorial萬一你想看到服務器上發生的實際查詢。

+0

當您說「未自動同步到服務器存儲桶」時,您的意思是sync_gateway存儲桶還是restful-sample存儲桶?你不應該指望它去後者,只有前者。 – borrrden

+0

對不起,對'restful-sample'桶來說,數據被插入'sync_gateway',而不是'restful-sample'。 @borrrden那麼我如何讓它同步呢? – CENT1PEDE

+1

我想我最後一部分是錯的。關於bucket shadowing的維基頁面確實意味着它有兩種方式。但是,如果您將此用於新項目,您可能會爲自己設定很大的悲傷。你有沒有考慮過使用PouchDB呢?它是一個與couchbase lite/sync網關兼容的數據庫的javascript實現。存儲區陰影是將現有數據用於新項目的一種方式,而不是創建新項目。 – borrrden

回答

0

沒有很多關於存儲桶投影的文檔,因爲此功能已被棄用。

從服務器訪問Sync Gateway數據的推薦方式是利用Sync Gateway REST API。使用此API,您可以執行CRUD操作或access view。這比使用SDK訪問Couchbase服務器方便得多,我同意,並且很多功能都是mising(例如N1QL)。

相關問題