排序规则参数
{ locale: <string>, caseLevel: <boolean>, caseFirst: <string>, strength: <int>, numericOrdering: <boolean>, alternate: <string>, maxVariable: <string>, backwards: <boolean> }
新建集合:
db.createCollection('workjsoninfo13',
{collation:{ //排序规则设置
locale:"zh", //区域为中文区域(必须设置)
strength:2} //比较级别为二级,不比较大小写和字符变体(默认为三级,比较大小写)
});
同一操作中,只支持一种排序规则,默认继承集合的排序规则。
因此新增索引时不需要调整规则,索引会继承集合的排序规则
示例:
db.createCollection('workjsoninfo12', {collation:{locale:"zh",strength:2}});
db.workjsoninfo12.insert(
[{WorkOrderId:"WI000001"},
{WorkOrderId:"wi000001"},
{WorkOrderId:"wi000004"},
{WorkOrderId:"WI000005"}]
)
db.getCollection('workjsoninfo12').createIndex({"WorkOrderId":1},{"name":"NON_WorkOrderId"});
db.workjsoninfo12.find({WorkOrderId:"WI000001"}).explain();
执行计划中,排序规则为中文、2级比较级别,命中索引。
查询结果不再区分大小写。
附参考网站:校对_MonogDB 中文网