Primeiras coisas primeiro :-)
-
use$match
como um primeiro pipeline na consulta para aumentar a velocidade de processamento (menos dados para processar)
-
em$group
você 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"
}
}
}
])