У меня есть ионное приложение с pouchdb и couchdb.У меня есть фильтр записи документа в couchdb для синхронизации документов в pouchdb.Это будет работать отлично.Если я изменю функции фильтра в couchdb, тогда фильтр не будет работать должным образом.
Мои документы имеют следующие документы
Сотрудник
{
"_id": "employee_2_073489FC-786E-4843-BD3F-B7E191BB532D",
"_rev": "1-f9f43e1416744675ac14c9f3f7323598",
"data": {
"name": "prabu1",
"empid": "2",
"type": "employee"
}
}
Отдел
{
"_id": "department_2_DD6D808A-57A8-22A4-A5FF-A610F50AC678",
"_rev": "2-99fde11786d64ef9928ddca590998588",
"data": {
"name": "ios",
"deptid": "1",
"type": "department"
}
}
Это мой фильтрующий документ в кушетке (Проектный документ)
{
"_id": "_design/live_filter",
"_rev": "6-d02296cc19f98676cb674339e8563d69",
"language": "javascript",
"filters": {
"live_filter": "function(doc) { if (doc._id === '_design/live_filter') { return true; } else if (doc.data) { if (doc['data'].type === 'employee') { return true; } else { return false; } } else { return false; } } "
}
}
Код синхронизации в ионном приложении
var opt = {
live: true,
retry: true,
filter: "live_filter",
include_docs: true
}
this.db.sync(remoteurl, opt)
Работает нормально и синхронизируетсяТолько документ сотрудника.
Если я изменю свой фильтрующий документ в couchdb, как показано ниже (Проектный документ)
{
"_id": "_design/live_filter",
"_rev": "6-d02296cc19f98676cb674339e8563d69",
"language": "javascript",
"filters": {
"live_filter": "function(doc) { if (doc._id === '_design/live_filter') { return true; } else if (doc.data) { if (doc['data'].type === 'employee' || doc['data'].type === 'department') { return true; } else { return false; } } else { return false; } } "
}
}
Здесь я добавил объект отдела дополнительно.После этого изменения сотрудник только синхронизировать, а не отдел документации синхронизации.Как получить документы отдела?Если я изменю doc отдела в couchdb, то он будет синхронизирован.