Mongodb получает поле, являющееся частью строки

#node.js #mon&odb

#node.js #mon&odb

Вопрос:

Я хочу получить поле коллекции Mon&oDB, где поле является подстрокой более длинной строки.

Реальный пример: str = ‘forest’

Коллекция Mon&oDB:

{id: 1, name: est}

{id: 2, name: ab}

Я хочу получить первый элемент, потому что est это подстрока forest

Ответ №1:

Одним из способов сделать это очень эффективно является полнотекстовый поиск в Mon&oDB. Для этого требуется определить тип текстового индекса для этого конкретного поля.

Если вам нужны совпадения, которые строго содержали ваш запрос, проверьте оператор exact-phrase.

Комментарии:

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

2. @Er&iLaze вам нужно использовать оператор точного сопоставления docs.mon&odb.com/manual/text-search/#exact-phrase

3. Я тоже пробовал это, но оно не возвращает подстроку, только точное совпадение. Если моя строка равна forest , она возвращает null. Если моя строка является est , она возвращает правильную.