使用PouchDB连接到两个不同的数据库

时间:2017-03-07 20:31:52

标签: couchdb pouchdb

我正在尝试使用我的应用程序中的PouchDB和服务器上的CouchDB连接并同步到两个不同的数据库。我可以连接到一个,但第二个连接不能正常工作。

我的代码如下所示:



    this._DB = new PouchDB('userdata');
let options = {
        live: true,   
        retry: true,  
        continuous: true
      };

this._syncHandler = this._DB.sync(remoteDB, options);

this._DB2 = new PouchDB('beer');
this._DB2.sync('localhost:5984/beer', options);
this._DB2.allDocs({})
        .then((doc)=> {
          console.log('****** TEST: doc = ' + JSON.stringify(doc));
        })
        .catch((err)=>{
          console.log('****** TEST: err = ' + JSON.stringify(err));
        });




当我运行此代码时,控制台日志会列出' userdata'的内容。数据库,而不是啤酒'数据库。这很奇怪而不是意图。

1 个答案:

答案 0 :(得分:1)

你在这里遇到了一些错误。

首先,您必须在远程数据库的URL中包含协议,即。您需要在http://前面localhost...

然后,sync调用也不会阻塞,因此在实际复制完成之前,您将调用allDocs。如果稍后再试一次,你会发现文档会在那里。