【问题标题】:How Mongo $sort works?Mongo $sort 是如何工作的?
【发布时间】:2019-10-24 06:18:54
【问题描述】:

在我的收藏中

{"subOrderId":"985409601"},
{"subOrderId":"87596401"},
{"subOrderId":"871997501"},
{"subOrderId":"871997401"},
{"subOrderId":"871997401"}

这些类型的条目在那里,我正在“subOrderId”字段描述中应用排序

请解释它在数字字符串{numericOrdering: false}的情况下是如何工作的

【问题讨论】:

    标签: java mongodb sorting mongodb-query aggregation-framework


    【解决方案1】:

    很简单,来自docs

    可选。确定是将数字字符串作为数字还是作为字符串进行比较的标志。

    如果为真,则比较为数字;即“10”大于“2”。

    如果为假,则作为字符串进行比较;即“10”小于“2”。

    默认为假。

    当它设置为 false 时,它​​会进行“正常”字符串比较,这意味着以“1”开头的任何内容都将“小于”以“>2”开头的任何内容,例如“19519519512”

    【讨论】:

      【解决方案2】:

      试试这个查询

      db.DbCollection.aggregate( [
        {$addFields: {
            sortData: { $toInt: "$subOrderId" },
         }},
        { $sort : { sortData : 1} },
        {$project: {subOrderId:1}}
       ])
      

      【讨论】:

      • 请问有什么问题请告诉我
      猜你喜欢
      • 2013-09-06
      • 1970-01-01
      • 2011-08-09
      • 1970-01-01
      • 2015-10-09
      • 1970-01-01
      • 2016-05-19
      • 2011-02-07
      • 1970-01-01
      相关资源
      最近更新 更多