Как сделать пост-фильтр с сервером couchnode / couchbase?
Я разрабатывал с использованием Couchbase Server 4.0, и обновление до 5.0 идет по пути, но не сейчас.
Но сейчас мне нужно искать представления (отображать / уменьшать) с помощью текстового поиска, на Couchbase Lite .Net есть PostFilter, который служит этой цели.
Но я не смог найти те же настройки в Couchnode, проверяя Couchbase Lite .Net сказал мне, что вариант запроса может помочь.
Я пробовал пару вещей, как это:
query.options.filter = r => {
console.log('******', r)
return true
}
query.options.post_filter = r => {
console.log('******', r)
return true
}
query.options.postFilter = r => {
console.log('******', r)
return true
}
но ничего не работает. Кто-нибудь испытал это раньше, пожалуйста, помогите!
1 ответ
На сервере Couchbase запросы сопоставления / сокращения создаются на самом кластере серверов, а не в SDK, как в Couchbase Lite. Пример:
function(doc, meta)
{
emit(doc.name, [doc.city, doc.salary]);
}
Когда вы создаете представление, вы даете ему имя. Вы можете назвать это представление из Node SDK (couchnode) по имени следующим образом:
var couchbase = require('couchbase');
var ViewQuery = couchbase.ViewQuery;
var query = ViewQuery.from('beer', 'by_name');
См. Документацию: https://docs.couchbase.com/server/4.0/developer-guide/views-writing.html и https://docs.couchbase.com/nodejs-sdk/2.6/view-queries-with-sdk.html