在我的收藏中
{"subOrderId":"985409601"},
{"subOrderId":"87596401"},
{"subOrderId":"871997501"},
{"subOrderId":"871997401"},
{"subOrderId":"871997401"}
这些类型的条目都已存在,我正在对“ subOrderId
”字段desc中进行排序
请说明在数字字符串{numericOrdering: false}
情况下它如何工作
答案 0 :(得分:1)
从docs开始,它非常简单:
可选。确定将数字字符串比较为数字还是作为字符串的标志。
如果为true,则比较为数字;即“ 10”大于“ 2”。
如果为false,则比较为字符串;否则为false。即“ 10”小于“ 2”。
默认为false。
如果将其设置为false,则会进行“正常”字符串比较,这意味着以“ 1”开头的任何内容都比以“> 2”开头的任何内容(例如“ 19519519512” <“ 2”)要小。 / p>
答案 1 :(得分:-1)
尝试此查询
db.DbCollection.aggregate( [
{$addFields: {
sortData: { $toInt: "$subOrderId" },
}},
{ $sort : { sortData : 1} },
{$project: {subOrderId:1}}
])