Tout d'abord :-)
-
utilisez
$match
comme premier pipeline en requête pour augmenter la vitesse de traitement (moins de données à traiter) -
dans
$group
vous pouvez utiliser$min
- aucun tri nécessaire rapidité :-)
La requête ressemblera donc à ceci :
db.wab.aggregate([{
$match : {
vendor_name : {
$in : ["test1", "test2"]
},
category : 'Fruit'
}
}, {
$group : {
_id : {
vendor_name : "$vendor_name",
product_name : "$product_name"
},
business_date : {
$min : "$business_date"
}
}
}
])