Показать сообщение отдельно
  #8 (permalink)  
Старый 28.03.2022, 12:56
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Так будет еще понятнее
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
}
Ответить с цитированием