Du kan prova nedanstående aggregering i 3.6 för anpassad sortering.
Använd $dateFromParts
för att beräkna datum utan tid i $addFields
för att behålla det beräknade värdet som det extra fältet i dokumentet följt av $sort
sortera på fält.
$project
med undantag för att ta bort sorteringsfältet för att få förväntad utdata.
db.col.aggregate([
{"$addFields":{
"date":{
"$dateFromParts":{
"year":{"$year":"$datetime"},
"month":{"$month":"$datetime"},
"day":{"$dayOfMonth":"$datetime"}
}
}
}},
{"$sort":{"date":-1,"priority":1}},
{"$project":{"date":0}}
])