Primeiras coisas primeiro :-)
-
use$matchcomo um primeiro pipeline na consulta para aumentar a velocidade de processamento (menos dados para processar)
-
em$groupvocê pode usar$min- não é necessário classificar velocidade :-)
Então a consulta ficará assim:
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"
}
}
}
])