U kunt onderstaande aggregatie in 3.6 proberen voor aangepaste sortering.
Gebruik $dateFromParts
om datum zonder tijd te berekenen in $addFields
om de berekende waarde te behouden als het extra veld in het document, gevolgd door $sort
sorteer op veld.
$project
met uitsluiting om het sorteerveld te laten vallen om de verwachte output te krijgen.
db.col.aggregate([
{"$addFields":{
"date":{
"$dateFromParts":{
"year":{"$year":"$datetime"},
"month":{"$month":"$datetime"},
"day":{"$dayOfMonth":"$datetime"}
}
}
}},
{"$sort":{"date":-1,"priority":1}},
{"$project":{"date":0}}
])