Anda dapat mencoba agregasi di bawah ini dalam 3.6 untuk pengurutan khusus.
Gunakan $dateFromParts
untuk menghitung tanggal tanpa waktu di $addFields
untuk menyimpan nilai yang dihitung sebagai bidang tambahan dalam dokumen diikuti oleh $sort
urutkan di lapangan.
$project
dengan pengecualian untuk menghapus bidang pengurutan untuk mendapatkan hasil yang diharapkan.
db.col.aggregate([
{"$addFields":{
"date":{
"$dateFromParts":{
"year":{"$year":"$datetime"},
"month":{"$month":"$datetime"},
"day":{"$dayOfMonth":"$datetime"}
}
}
}},
{"$sort":{"date":-1,"priority":1}},
{"$project":{"date":0}}
])