Если я правильно понял функциональность, при репликации с сервера, фильтр на стороне сервера должен пропустить ваши данные.При репликации на сервер фильтр на стороне клиента должен разрешать передачу ваших данных.
В вашем случае вам нужно проверить, что данные действительно могут проходитьваш клиентский фильтр.
Допустим, у меня есть такой фильтр ...
{
"_id": "_design/post_processing",
"_rev": "1-47235d8ded76c0ec3c3c49e5aae71f6f",
"filters": {
"by_request": "function(doc, req) { doc.data && doc.data.type && doc.data.type == 'Request' }"
}
}
Мои записи, очевидно, пройдут, потому что у них есть тип данных 'request', верно?
Чтобы проверить это, я проверяю свое предположение непосредственно в коде перед запуском репликатора.
const doc = {
"_id": "Person_1_0000000000000339",
"_rev": "2-86e5ce7d8b5b58dacd2fad68bcc02658",
"data": {
"pk": 339,
"type": "request",
"handler": "PersonUpdate"
"mobile": "099-555-7685",
"distributor": true,
"email": "bill.gates@amazon.com",
}
};
console.log('=========== HEY! Look here. Here I am! ================');
console.log(doc.data && doc.data.type && doc.data.type == 'Request');
db.replicate.to(remoteDb ...
О, чушь.Это ложь.Интересно почему.