mongodb 数据库like语句查询
2011-09-27 14:11
211 查看
在学习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
--------------------------------------------------------------------------
假如需要查找的字符串为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
--------------------------------------------------------------------------
相关文章推荐
- 数据库-Oracle【SQL模糊查询语句(like) 及SQL Server 2005 导入和导出向导】
- mongodb查询语句及mongoose操作数据库总结
- mongodb 中的模糊查询----(like 查询语句) 在mongo VUE里面怎么写查询
- 有些access语句在数据库中可以执行,但是在C#上又不能执行,比如模糊查询-like
- 数据库-Oracle【SQL模糊查询语句(like) 及SQL Server 2005 导入和导出向导】
- ACCESS:跨数据库查询的SQL语句
- 润乾V5通过下拉日历传参改变查询语句中数据库名称字段
- 程序执行hibernate语句查询到数据库里的char型字段,返回的只有该字段的首字母
- 怎样用SQL语句查询一个数据库中的所有表?
- 动态SQL语句根据数据库列来查询数据,动态的生成列名称
- 数据库SQL语句查询指定时间段内的数据
- 数据库-select查询语句(续1)
- 数据库查询语句专题
- 小觑数据库(SqlServer)查询语句执行过程
- MongoDB中实现类似于SQL的like查询
- sql语句带参数的模糊查询 (like @tag+'%')
- 各种数据库的分页查询语句
- 数据库 将多条SQL语句查询的内容整合成为一个元组
- SQL Server参数化SQL语句中的like和in查询的语法(C#)
- 如何处理含有特殊字符的数据库查询语句