Nodejs + MongoDB模糊搜索
MongoDB中模糊查询要使用正则表达式,使用nodejs和mongodb实现一个通过搜索框对数据库进行搜索的功能,一开始直接用的findOne()
方法
1 | Corpus.findOne({name: '/'+req.query.name.replace(/"/g, '')+'/'}, function (err, Corpus) { |
很奇怪,这种方式并查不到东西,把name对应的值写死后,却可以正常查到内容,但是req.query.name
是可以正常获取到前台输入的内容的。
解决:
在nodejs中要用RegExp
构建正则表达式对象
1 | let CorpusSearch = req.query.name.replace(/"/g, '') |