Как выполнить текстовый поисковый запрос в MongoDB, используя NodeJS? - PullRequest
0 голосов
/ 27 мая 2020

У меня есть такие документы

{ 
  Name: "some data"
  Another: " a lots of data in string"
  Another: "string data here too
}

И есть массив

Keyword = ["key1", "key2", .."keyn"]

Я хочу запустить запрос, чтобы он возвращал документы, если какое-либо ключевое слово из массива соответствует слово из названия документа или другое или другое или любое другое строковое значение. Не требует точного слова.

Я пробовал $ in b возвращать результаты m, если значение точно совпадает.

И я пробовал $ search , который не требует точного совпадения, но не принимает массив в качестве аргумента ..

Есть ли какой-либо комбинированный способ передать массив в качестве аргумента без точного совпадения строк.

Примечание: нет необходимости сопоставлять все ключевые слова из массива. Если совпадают отдельные ключевые слова. Он должен вернуть результаты.

Спасибо.

1 Ответ

0 голосов
/ 27 мая 2020

Возможно, вы захотите превратить свой запрос в поиск с регулярным выражением:

https://docs.mongodb.com/manual/reference/operator/query/regex/

, поэтому запрос с регулярным выражением будет:

{
    Name: {
        $regex: /(key1|key2|keyn)/
    }
}
...