Я пытаюсь создать в одном запросе агрегации текстовый поиск 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
}