mongodb 数据库like语句查询

在学习mongodb时遇到查找相似字符串问题,下面是解决方法:

假如需要查找的字符串为s,则可以用db.tables.find({"name":/s/}),或者db.tables.find({"name":/^s/}) ,或者db.tables.find({"name":/s.*/}),或者db.tables.find({"name":/.s.*/})

下面就分析下这几种查询的对应结果有什么不同:

1)db.city.find({"extra_data.region":/.新.*/})

共765条记录:包含了【高新技术。高新区,虎丘。渝北区(含北部新区)】

【注:由结果可以看出所查字符前面必须有字符,相当于:db.city.find({"extra_data.region":/.新./}),也相当于db.city.find({"extra_data.region":/.新/})】
-----------------------------------------------------------------------------------------------------------
2)db.city.find({"extra_data.region":/^新/})

共592条记录:包含了【新华。新洲。新都。新城。新区】

【注:由结果可以看出,此查询必须以所查字符开始】

-----------------------------------------------------------------------------------------------------------
3)db.city.find({"extra_data.region":/新.*/})

1357条记录:记录包含了【新华。高新技术。渝北区(含北部新区)。高新区,虎丘】

【注:由结果可以看出前面字符可以有也可以没有,相当于:db.city.find({"extra_data.region":/新/})】

-----------------------------------------------------------------------------------------------------------

最后再分析下记录的结果,由上面三种查询可以看出,前两个查询的结果和正好等于最后一种的查询结果,这与注解完全符合。

---------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------
Author:James Yan
Date:2011-9-27
From: http://blog.csdn.net/zhouyan8603
Note:All references should be cited
--------------------------------------------------------------------------


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值