Надеюсь, у кого-то есть ответ на мой вопрос.
Я пытаюсь найти поисковый запрос
- мой матч будет варьироваться
- иногда пользователь может забыть отправить введенный текст
однако при нажатии с введенным текстом или нет,
он должен возвращать результаты (без входного текста будет возвращен весь массив, как без этапа сопоставления, а с входным текстом будет возвращен массив совпадений).
- если есть введенный текст
{$ match: {$ text: {$ search: "bla"}}
- если нет введенного текста
{$ match: ""}
пустой входной текст возвращает «ошибка: фильтр соответствия должен быть выражением в объекте»
Я имею в виду, как следующим образом,
var myMatch = {}
if( input=="bla")
{ myMatch = "{$text: { $search: "bla" }" }"
else if(input=="")
{ myMatch = "" }
db.collection.aggregate([
{ "$match": myMatch} ])
, который возвращает «ошибку: фильтр соответствия должен быть выражением в объекте»