Добрый день!
В документе есть поле size (строка) вида 134-140, 140-146 и тп. Делаю запрос
var s = "134";
var reg = new RegExp (`[${s}]`, "i");
collection.find({size:{$regex:reg}}).toArray(function(err, result){
console.log(result);
});
По идее, должно вернуть все документы, где в поле size встречается цифры 134 (точнее строка). Но возвращает абсолютно все документы. Что я делаю не так?
П.С. после многочисленных тестов я определил, что возвращаются не все документы, а только те, где встречается хотя бы один символ из регулярного выражения. В данном случае 134. Так, будто квадратных скобок нет.
Версия MongoDB-сервера 3.0, модуль версии 3.0
Ответ
var reg = /134/;
collection.find({
size: {
$regex: reg,
$options: 'i'
}
})
UPD:
var s = "134";
var reg = ".*" + s ".*";
collection.find({
size: {
$regex: reg,
$options: 'i'
}
})
Комментариев нет:
Отправить комментарий