Так будет еще понятнее
const search = ''
const category = ''
const q = query(search, category)
// тут запрос
alert(JSON.stringify(q))
// Формирование условия
function query(search, category) {
const q1 = {
'$or': [
{title: new RegExp(search, 'ig')},
{text: new RegExp(search, 'ig')},
]
}
const q2 = {category: new RegExp(category, 'ig')}
if ( search + category === '') {
return {}
} else if (search) {
if (category) q1['$or'].push(q2)
return q1
}
return q2
}