этот API вызывается для каждого изменения. это может быть поле числа или имени. здесь задача заключается в том, что я хочу искать имя без учета регистра.
router.get('/v1/branch/search/customers/:phoneNumber',authenticate , (req, res) => {
var regex = "/^"+req.params.phoneNumber+"/", name = "/^"+req.params.phoneNumber+"$/i";
Customer.find({
subscriberId: req.user.subscriberId,$or:[{$where:regex+'.test(this.phoneNumber)'},{$where:name+'.test(this.name)'},{$where:regex+'.test(this.name)'}],
_creator : req.user._id
},{name:1,phoneNumber:1,_id:0}).sort({name: 1}).then((customer) => {
res.send({'statusCode':0,'data':customer});
}, (e) => {
console.info(e);
res.status(200).send({'statusCode':2,'message':e.message});
});
});
Приведенный выше код работает без учета регистра только для некоторых имен, а не для всех данных. Я не понимаю, что я здесь делаю неправильно.





вы можете использовать регулярные выражения
{ "name" : { $regex: /Ghost/, $options: 'i' }
включение этого в ваш код решит проблему без учета регистра.
Возможный дубликат stackoverflow.com/questions/1863399/…