Регулярное выражение MongoDB для чисел - PullRequest
0 голосов
/ 04 августа 2020

Существует регулярное выражение, которое правильно проверяет, найдена ли строка в значениях:

{ name: { $regex: req.query.name, $options: 'i' } },

Проблема в том, что «имя» не является строкой, а числом. Есть ли способ изменить его и заставить его также проверять числовые значения? Без потери функции проверки строк.

1 Ответ

2 голосов
/ 04 августа 2020

Вы должны преобразовать их в string по $toString, это способ Mon go (начиная с Mon go 4.2+, вы можете использовать $regexMatch|$regexFind|$regexFindAll):

{
    "$expr": {
        "$regexMatch": {
           "input": {"$toString": "$name"}, 
           "regex": req.query.name 
        }
    }
}
...