赞
踩
mongodb:3.4
工具:Robo 3T 1.1
最近在优化索引时,又重新看了下,mongodb
的一些新特性;
mongodb 3.4
还是提供一些非常好用的新功能;
其中之一就是今天要讲的,对字符串按照数值来排序;
单纯的字典翻译是整理
的意思;
但是这里要翻译成:排序规则
假设我们有这样的数据:
注意
我这里只是为了说明
字符串按照数值来排序
这个问题,实际情况,股票代码,肯定不是按照数值大小来排序的,本身就是按照字符串大小来排序的!
执行下面的语句
db.stock.find({}).collation({"locale": "zh", numericOrdering:true}).sort({stock_code:1})
效果如下:
可以看出,现在已经是按照数值大小来排序的!
语法规则不详细讲,因为我用的不多!
Collation包含的字段:
{
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}
说明
collation
时,字段locale
必须要有值。numericOrdering
决定字符串是否按照数值来排序,默认为false
;caseFirst
决定大小写谁排在前头,“upper”大写排在小写前头,“lower”小写排在大写的前头。其他字段没用过!
参考官网:
operations-that-support-collation
参考地址:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。