Есть следущий код для поиска постов по базе:
async search(search, category) {
const posts = await Post.find({
$or:[
{title: new RegExp(search, 'ig')},
{text: new RegExp(search, 'ig')},
{category: new RegExp(category, 'ig')}
]
})
return posts
}
Если юзер ищет посты через поиск, то слово для поиска прилетает в search, а в category залетает пустая строка.
Если юзер ищет посты по категориям, то в category залетает категория (текст), а в search пустая строка.
Если юзер ищей и через поиск, и выбрал категорию, то... то это тоже должно работать.
Как правило это сделать?
Просто сейчас если куда-то зателает пустая строка, то возвращаются сразу все посты.