mongoose模糊查询问题,向码友们求助

发布于 2022-09-11 14:24:42 字数 374 浏览 14 评论 0

问题描述

比如以世界外国语学校举例,用mongoose的$regex进行模糊匹配时,输入世界,外国语等关键字时,都能匹配到,但当输入世外这种中间跳了字的关键字时,就匹配不到

问题出现的环境背景及自己尝试过哪些方法

做全文搜搜索功能时,遇到的问题

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

if(filter.s){
    condition.school = { $regex: filter.s };
}

你期待的结果是什么?实际看到的错误信息又是什么?

期待的结果:输入世外能够匹配到世界外国语学校
错误信息:没有错误信息,只是匹配不到

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迷乱花海 2022-09-18 14:24:42

这个和你的正则表达式的写法有关。要达到你的目的需要你做一些额外的策略。

  1. 使用输入进行直接匹配,如果没有匹配到进入第二步
  2. 对输入源进行拆解,例如“世外”。可以拆成 世 和 外。搜索的正则就是 世*外

拆解输入有很多第三方库可以用。可以按照名词,动词拆解

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文