MongoDB排序日期字符串(mm / dd / yyyy)

时间:2016-08-18 14:52:51

标签: mongodb

我将日期作为字符串存储在" mm / dd / yyyy"格式。我想按此日期字段排序。我尝试使用少量测试数据进行查询。

db.collection.find().sort({date: -1}).pretty()

它工作正常。这样可以正常工作还是应该将其转换为MongoDate以进行可靠的排序?

2 个答案:

答案 0 :(得分:4)

yyyy-mm-dd是最后一次,这种情况不会在多年后发挥作用。

可能最好切换为Date格式化字符串或实际if ($args ~* '(.*){(.*)}(.*)') { set $args $1%7B$2%7D$3; rewrite (.*)$ $1; } proxy_pass http://127.0.0.1:8080; 类型。这两个都将正确排序。

答案 1 :(得分:2)

在MongoDB 3.6中,您现在可以使用$dateFromStringhttps://docs.mongodb.com/manual/reference/operator/aggregation/dateFromString/

db.logmessages.aggregate( [ {
   $project: {
      date: {
         $dateFromString: {
            dateString: '$date'
         }
      }
   }
}, { $sort: { date : 1} } ] )