Поле проверки содержит строку, включающую специальный символ mongodb - PullRequest
0 голосов
/ 03 февраля 2020

Я использую mongoDB, и я хотел бы найти один документ, который содержит строку. Моя строка «это первый день (день 1)» Вот мой запрос:

findOne({title : {$regex : ".*this is day one (day 1).*"}})

Но он имеет специальный символ, такой как "()", поэтому я решил, что это регулярное выражение распознало эту группу. Так что я должен сделать, чтобы это стало строкой.

Спасибо.

1 Ответ

0 голосов
/ 03 февраля 2020

Вы можете использовать \ для экранирования специальных символов

Измените ваш запрос на

findOne({title : {$regex : ".*this is day one \(day 1\).*"}})

Для динамичности вы можете использовать этот синтаксис, чтобы сделать ваш запрос

var titleSearch = "this is day one (day 1)";
findOne({title: {
                $regex: titleSearch,
                $options: 'i'
            });

Теперь, вашим titleSearch может быть любая строка, которую вы хотите найти в своей коллекции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...