我正在与 MONGO 一起从事我当前的项目,如果我正在搜索一个字母需要搜索每个单词,我需要一个查询
例如:我的数据库中有 3 个主题,如下所示
化学、化学、有机化学
我试过像下面这样的查询
db.topics.find({name: { '$regex': '^che', '$options': 'i' }}, {})
Run Code Online (Sandbox Code Playgroud)
但我只得到化学和化学的结果
但我的要求是,如果我用che搜索,那么这封信需要检查每个单词的第一个字母,结果还带有化学、化学和有机化学(因为在有机化学中,单词以che mistry开头)
db.topics.find({name: { '$regex': 'che', '$options': 'i' }}, {})
Run Code Online (Sandbox Code Playgroud)
^ 在正则表达式中的意思是“开始”^che是以开头的文本che
如果您希望che出现在任何单词中,您必须匹配空格:
db.topics.find({name: { '$regex': '(\s+che|^che)', '$options': 'i' }}, {})
Run Code Online (Sandbox Code Playgroud)
为了更好地理解正则表达式,请检查:https : //www.regextester.com/