искать запись mongodb, которая имеет "." (точка) в названии записи - PullRequest
0 голосов
/ 11 сентября 2018

Запись в базе данных:

{
    "_id" : ObjectId("5b97b20e7b473d1ee468a972"),
    "name" : "insearch.com wiki",
    "description" : "insearch",
    "createdAt" : ISODate("2018-09-11T12:16:14.181Z"),
    "updatedAt" : ISODate("2018-09-11T12:16:14.181Z"),
    "__v" : 0
}

Поисковый запрос

db.getCollection('contents').find({name:{$regex: '.', $options: "i"}})

Как я могу искать записи, когда даю "." (только точка) в окне поиска.

1 Ответ

0 голосов
/ 11 сентября 2018

Символ периода . имеет специальное значение в регулярном выражении, где он соответствует любому символу. Чтобы отключить это поведение и сопоставить его с самим периодом, вам нужно экранировать его:

db.getCollection('contents').find({name:{$regex: '\\.', $options: "i"}})

Чтобы сделать это программно (как в вашем случае с окном поиска), см. Есть ли функция RegExp.escape в Javascript?

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