Это достигается с помощью конвейера агрегации стадий $dateFromParts
MongoDB.
db.test.aggregate([
{
"$addFields": {
"tempDate": {
"$dateFromParts": {
year : '$paymentYear',
month : '$paymentMonth',
}
}
}
},
{
"$sort": {"tempDate": -1} // Change from `-1` to `1` For Ascending Order
},
{
"$limit": 1 // Number of documents to be returned based on the sort order
},
])
Использование может реализовать это на стадии $project
вместо стадии $addFields
в зависимости от ваших потребностей для лучшей оптимизации.
Примечание: это будет работать только для MongoDB версии 3.6 и выше.