mongodb模糊查询

mongodb模糊查询,可以使用正则表达式查询来实现

1、点号字符在正则表达式中是一个通配符,它代表所有字符和数字。

2、*号表示前面的匹配符出现>=0次

3、+号表示前面的匹配符出现>=1次

4、?号表示前面的匹配符出现<=1次

5、{666}表示前面的匹配符出现666次

6、{666,888}表示前面的匹配符出现666~888次

7、^匹配开头,$匹配结尾

比如,有一堆新闻报道,集合名称为news,正文字段为text

需求1,找出正文中包含"加薪"的新闻:

db.news.find({
    "text": {
        $regex: "加薪"
    }
});

需求2,找出正文中包含两到四次"加薪"的新闻

db.news.find({
    "text": {
        $regex: "(.*加薪.*){2,4}"
    }
});

注意:提到两到四次"加薪",正则表达式不是:(加薪){2,4}

(加薪){2,4}    是指的文章中出现了"加薪加薪"或者"加薪加薪加薪"或者"加薪加薪加薪加薪"

需求3,找出跟董事长相关的加薪新闻

db.news.find({
    "text": {
        $regex: ".*董事长.*加薪.*"
    }
});

有没有感觉,用mongodb也能简单的搜一些语义相关的内容了呢,哈哈哈

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值