python 实现 mongodb 不区分大小写查询
2017-02-23 15:22
337 查看
SpringMongo不区分大小写的正则表达式
正则表达式regex spring 字符串匹配string-matching 大小写不敏感case-insensitive
我想在mongo不区分大小写的搜索。基本上,我想不区分大小写字符串的速配I正则表达式。这里是我的代码
Query query = new Query( Criteria.where(propName).regex(value.toString(), "i"));
但上述dosent符合我的整个字符串(字符串用空格)。它返回的值,即使它的一个子串。 例如:假设我收藏有2个值“条例”和“条例草案”法案“即使我的搜索”法案,它返回的结果,即使有,我搜索的字符串的一个子字符串 我试过Query query = new Query( Criteria.where(propName).is(value.toString()));不过上面是区分大小写的。能帮帮这一点。
本文地址 :CodeGo.net/10250490/
-------------------------------------------------------------------------------------------------------------------------
1.正则表达式/ ^账单$ /我将在不区分大小写的匹配方式只针对“条例”。 下面是一个例子,说明这个(mongoshell):
> db.foo.insert({name: "Bill"});
> db.foo.insert({name: "Bill status"});
> db.foo.insert({name: "another Bill"});
> db.foo.find()
{ "_id" : ObjectId("5018e182a499db774b92bf25"), "name" : "Bill" }
{ "_id" : ObjectId("5018e191a499db774b92bf26"), "name" : "Bill status" }
{ "_id" : ObjectId("5018e19ba499db774b92bf27"), "name" : "another Bill" }
> db.foo.find({name: /bill/i})
{ "_id" : ObjectId("5018e182a499db774b92bf25"), "name" : "Bill" }
{ "_id" : ObjectId("5018e191a499db774b92bf26"), "name" : "Bill status" }
{ "_id" : ObjectId("5018e19ba499db774b92bf27"), "name" : "another Bill" }
> db.foo.find({name: /^bill$/i})
{ "_id" : ObjectId("5018e182a499db774b92bf25"), "name" : "Bill" }
然而,一个正则表达式查询将一个索引,但如果是左根(格式为/ ^前缀/ IE的),如果第i不区分大小写的标志是你将付出巨大的性能损失的查询索引。因此,根据情况,更好的选择可能是在这样的应用程序逻辑 CodeGo.net,例如: 强制执行的情况下,当你插入项目到数据库中(例如转换“法案”,以“条例”)。 这样做对你的已知情况下的搜索(如搜索只是对“条例”)。
本文标题 :SpringMongo不区分大小写的正则表达式
本文地址 :CodeGo.net/10250490/
用python实现
name = '^%s$' % name
re_name = re.compile(name, re.IGNORECASE)
record = db.foo.find({'name':re_name});
正则表达式regex spring 字符串匹配string-matching 大小写不敏感case-insensitive
我想在mongo不区分大小写的搜索。基本上,我想不区分大小写字符串的速配I正则表达式。这里是我的代码
Query query = new Query( Criteria.where(propName).regex(value.toString(), "i"));
但上述dosent符合我的整个字符串(字符串用空格)。它返回的值,即使它的一个子串。 例如:假设我收藏有2个值“条例”和“条例草案”法案“即使我的搜索”法案,它返回的结果,即使有,我搜索的字符串的一个子字符串 我试过Query query = new Query( Criteria.where(propName).is(value.toString()));不过上面是区分大小写的。能帮帮这一点。
本文地址 :CodeGo.net/10250490/
-------------------------------------------------------------------------------------------------------------------------
1.正则表达式/ ^账单$ /我将在不区分大小写的匹配方式只针对“条例”。 下面是一个例子,说明这个(mongoshell):
> db.foo.insert({name: "Bill"});
> db.foo.insert({name: "Bill status"});
> db.foo.insert({name: "another Bill"});
> db.foo.find()
{ "_id" : ObjectId("5018e182a499db774b92bf25"), "name" : "Bill" }
{ "_id" : ObjectId("5018e191a499db774b92bf26"), "name" : "Bill status" }
{ "_id" : ObjectId("5018e19ba499db774b92bf27"), "name" : "another Bill" }
> db.foo.find({name: /bill/i})
{ "_id" : ObjectId("5018e182a499db774b92bf25"), "name" : "Bill" }
{ "_id" : ObjectId("5018e191a499db774b92bf26"), "name" : "Bill status" }
{ "_id" : ObjectId("5018e19ba499db774b92bf27"), "name" : "another Bill" }
> db.foo.find({name: /^bill$/i})
{ "_id" : ObjectId("5018e182a499db774b92bf25"), "name" : "Bill" }
然而,一个正则表达式查询将一个索引,但如果是左根(格式为/ ^前缀/ IE的),如果第i不区分大小写的标志是你将付出巨大的性能损失的查询索引。因此,根据情况,更好的选择可能是在这样的应用程序逻辑 CodeGo.net,例如: 强制执行的情况下,当你插入项目到数据库中(例如转换“法案”,以“条例”)。 这样做对你的已知情况下的搜索(如搜索只是对“条例”)。
本文标题 :SpringMongo不区分大小写的正则表达式
本文地址 :CodeGo.net/10250490/
用python实现
name = '^%s$' % name
re_name = re.compile(name, re.IGNORECASE)
record = db.foo.find({'name':re_name});
相关文章推荐
- mongodb查询不区分大小写
- Mysql如何在SQL中实现区分大小写的查询
- 使MySQL查询区分大小写的实现方法
- 数据库查询 实现比较字符串时,区分大小写。
- mongodb 查询不区分大小写(mongo VUE 和 Java 代码)
- python操作mongodb根据_id查询数据的实现方法
- mongodb查询不区分大小写 java代码和查询命令
- SQL查询实现区分大小写
- 使MySQL查询区分大小写的实现方法
- python操作mongodb根据_id查询数据的实现方法
- mongodb 多 or and 逻辑查询 python实现
- MySQL第五天---存储过程、查询区分大小写、事务(MySQL及Java实现的简单模板)
- 使MySQL查询区分大小写的实现方法
- 使MySQL查询区分大小写的实现方法
- Oracle查询忽略大小写的实现方法
- django orm总结--解决查询结果不区分大小写问题
- python实现百度关键词排名查询
- 【MySQL】查询时强制区分大小写的方法
- python实现上传样本到virustotal并查询扫描信息的方法
- 使mysql查询条件区分大小写 数据库搜索中大小写敏感性