Показать сообщение отдельно
  #1 (permalink)  
Старый 27.03.2022, 21:27
Профессор
Отправить личное сообщение для CryNet Посмотреть профиль Найти все сообщения от CryNet
 
Регистрация: 02.01.2019
Сообщений: 151

Как правило составить условие для поиска по базе используя mongoose?
Есть следущий код для поиска постов по базе:

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 пустая строка.

Если юзер ищей и через поиск, и выбрал категорию, то... то это тоже должно работать.

Как правило это сделать?

Просто сейчас если куда-то зателает пустая строка, то возвращаются сразу все посты.
Ответить с цитированием