Задать вопрос
@bpGusar
*spoiler*

Как сделать запрос, который будет искать по нескольким полям, одно из которых populated, и показать документы где есть совпадения по 1 и > полям?

Есть модель
const BookSchema = new Schema({
      bookInfo: {
        title: { type: String, requiared: true },
        authors: [{ type: String, requiared: true, ref: "Authors" }]
      }
    });


Обычно я делаю такой запрос на поиск
Book.find(query)
      .populate("bookInfo.authors")
      .exec((err, books) => {
        if (err) {
          res.json(err);
        } else {
          res.json(books);
        }
      });


По обычным полям понятно как искать, но не понятно как искать по populated полям.

Задача такая:
сделать запрос по полю bookInfo.title и по populated полю bookInfo.authors и вывести только те данные где хоть по одному из параметров поиска будут найдены совпадения.

Тоесть должен получиться типа фильтр, который я не пойму как сделать.
  • Вопрос задан
  • 106 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы