【发布时间】:2017-05-17 09:37:50
【问题描述】:
由于 v3.4 排序规则可用于查找操作,尤其是涉及到变音符号字符的匹配时。虽然具有确定值($eq 运算符或相应构造)的查找查询将匹配字母和对应的变音符号,但如果使用 $regex 以实现部分搜索字符串('LIKE' )。
是否可以让 $regex 查询以与 $eq 查询相同的方式使用排序规则?
考虑示例集合 testcoll:
{ "_id" : ObjectId("586b7a0163aff45945462bea"), "city" : "Antwerpen" },
{ "_id" : ObjectId("586b7a0663aff45945462beb"), "city" : "Antwërpen" }
此查询将找到两条记录
db.testcoll.find({city: 'antwerpen'}).collation({"locale" : "en_US", "strength" : 1});
使用正则表达式的相同查询不会(仅查找带有 'Antwerpen' 的记录)
db.testcoll.find({city: /antwe/i}).collation({"locale" : "en_US", "strength" : 1});
【问题讨论】:
标签: mongodb mongodb-query