Попытка построить запрос mongoose с регулярным выражением, но по какой-то причине он всегда возвращает ноль результатов.
У меня есть модель с именем Place со значением wind_direction. wind_direction - это строка, которая выглядит примерно так:
place.wind_direction = "SW, WSW, W, WNW, NW, NE, ENE, E";
Я получаю значения через форму, в данном случае «W, WNW, NW» и пытаюсь построить регулярное выражение, например:
var string = JSON.stringify(req.body.wind_direction)
string = string.replace(/[\[\]"]+/g,'').split(",")
var reg = ""
for(var i = 0; i < string.length; i++){
reg += "\b" + string[i] + "\b|";
}
reg = "/" + reg.substring(0, reg.length - 1) + "/";
query.wind_direction = { "$regex": reg, "$options": "i" }
Когда я console.log мой запрос выглядит так:
{ wind_direction: { '$regex': '/\bW\b|\bWNW\b|\bNW\b/', '$options': 'i' } }
Затем, когда я запускаю простой запрос с Place.find (query, function (req, res ...), он не возвращает результатов. Но когда я проверяю свое регулярное выражение в онлайн-тестере регулярных выражений, оно работает.