Das Wichtigste zuerst :-)
-
Verwenden Sie
$match
als erste Pipeline in der Abfrage, um die Verarbeitungsgeschwindigkeit zu erhöhen (weniger zu verarbeitende Daten) -
in
$group
Sie können$min
verwenden - kein Sortieren erforderlich Geschwindigkeit :-)
Die Abfrage sieht also so aus:
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"
}
}
}
])