我正在尝试使用我的应用程序中的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'的内容。数据库,而不是啤酒'数据库。这很奇怪而不是意图。
答案 0 :(得分:1)
你在这里遇到了一些错误。
首先,您必须在远程数据库的URL中包含协议,即。您需要在http://
前面localhost...
。
然后,sync
调用也不会阻塞,因此在实际复制完成之前,您将调用allDocs
。如果稍后再试一次,你会发现文档会在那里。