我将日期作为字符串存储在" mm / dd / yyyy"格式。我想按此日期字段排序。我尝试使用少量测试数据进行查询。
db.collection.find().sort({date: -1}).pretty()
它工作正常。这样可以正常工作还是应该将其转换为MongoDate以进行可靠的排序?
答案 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中,您现在可以使用$dateFromString
(https://docs.mongodb.com/manual/reference/operator/aggregation/dateFromString/)
db.logmessages.aggregate( [ {
$project: {
date: {
$dateFromString: {
dateString: '$date'
}
}
}
}, { $sort: { date : 1} } ] )