MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB-Abfrage mit Aggregat, um das neueste Datum eines Elements abzufragen

Das Wichtigste zuerst :-)

  1. Verwenden Sie $match als erste Pipeline in der Abfrage, um die Verarbeitungsgeschwindigkeit zu erhöhen (weniger zu verarbeitende Daten)

  2. 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"
                }
            }
        }
    ])