Комплексный поиск MongoDB не дал ожидаемого результата - PullRequest
0 голосов
/ 11 ноября 2019

Я пытаюсь создать в одном запросе агрегации текстовый поиск match , за которым следует другой запрос match , чтобы избежать отправки нескольких запросов в базу данных, но я не получаю никакого результата.

Вот как выглядит мой запрос:

query = await Product.aggregate([
    { $match: { $text: { $search: userQuery } } },
    { $addFields: { score: { $meta: "textScore" } } },
    {
      $facet: {
        Forfait: [
          {
            $match: { Forfait: "midnight" }
          }
        ]
      }
    }
    ]).exec();

Вот что я пытаюсь выполнить:

1. Perform a text search on user input on the collection
2. and also perform a match on the collection on the forfait field

Запрос ничего не возвращает, кажется, что онвыполняет своего рода логический запрос И и короткие замыкания, но я не знаю, как я могу выполнить два запроса в одной агрегации.

Я попытался выполнить аналогичную проблему здесь Конвейер ошибок фасета MongoDB требует метаданных текстовой оценки, но нет доступной текстовой оценки , которая отражает мой запрос.

Любые указания илиПомощь будет принята с благодарностью.

Ниже приведена модель документа, которая выглядит просто как документ

{
  id: String
  title: String
  description: String
  forfait: String
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...