如何过滤PockDB和couchdb之间的复制
我有服务器端的couchdb和移动应用程序的PockDB。我希望每个用户根据参考号(参考号)获得自己的数据。我已经尝试过过滤它,但是没有数据同步到couchdb。我遵循PockDB/couchdb文档中的步骤。但是我不知道我遵循的步骤是否正确。如果我犯了错误,请指导我。下面是我在客户端的代码如何过滤PockDB和couchdb之间的复制,couchdb,ionic2,pouchdb,Couchdb,Ionic2,Pouchdb,我有服务器端的couchdb和移动应用程序的PockDB。我希望每个用户根据参考号(参考号)获得自己的数据。我已经尝试过过滤它,但是没有数据同步到couchdb。我遵循PockDB/couchdb文档中的步骤。但是我不知道我遵循的步骤是否正确。如果我犯了错误,请指导我。下面是我在客户端的代码 constructor(public http: Http, public settingProvider:SettingProvider) { this.db = new PouchDB('task
constructor(public http: Http, public settingProvider:SettingProvider) {
this.db = new PouchDB('task');
}
initializeRemote(url,ref_no){
this.remote = url + '/task';
let options = {
live: true,
retry: true,
filter:'task/byRef_no',
query_params: {'ref_no':ref_no}
};
this.db.sync(this.remote, options)
.on('change', function(change){
console.log('InspectionTask provider change!', change);
})
.on('paused', function(info){
console.log('InspectionTask provider paused!', info);
})
.on('active', function(info){
console.log('InspectionTask provider active!', info);
})
.on('error', function(err){
console.log('InspectionTask provider error!', err)
});
}
这是服务器端的过滤器
{
_id: '_design/task',
filters: {
myfilter: function (doc, req) {
return doc.ref_no === req.query.ref_no;
}
}
}
在PockDB复制配置中指定的筛选器不是设计文档中指定的筛选器 您正在尝试使用:
筛选器:'task/byRef\u no'
进行筛选
实际上,您的筛选器名称是myfilter
你应该有这样的东西:
let options = {
live: true,
retry: true,
filter:'task/myfilter',
query_params: {'ref_no':ref_no}
};
我已经更改了过滤器的名称,但结果相同。我仍然无法将数据与筛选器同步。如果我取下过滤器,一切正常。对不起。在你的帮助下,我已经做了一些改变。谢谢