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

MongoDB {Aggregation $match} vs. {find} Geschwindigkeit

Der Hauptzweck des aggregation framework ist es, die Abfrage einer großen Anzahl von Einträgen zu vereinfachen und eine geringe Anzahl von Ergebnissen zu generieren, die für Sie von Wert sind.

Wie Sie gesagt haben, können Sie auch mehrere find verwenden Abfragen, aber denken Sie daran, dass Sie mit find keine neuen Felder erstellen können Abfragen. Andererseits die $group stage ermöglicht es Ihnen, Ihre neuen Felder zu definieren.

Wenn Sie die Funktionalität des aggregation framework erreichen möchten , müssten Sie höchstwahrscheinlich ein anfängliches find ausführen (oder verketten Sie mehrere), ziehen Sie diese Informationen und bearbeiten Sie sie weiter mit einer Programmiersprache.

Die aggregation pipeline scheint länger zu dauern, aber zumindest wissen Sie, dass Sie nur die Leistung eines Systems berücksichtigen müssen - der MongoDB-Engine.

Wenn es dagegen darum geht, die von einem find zurückgegebenen Daten zu manipulieren Abfrage müssten Sie höchstwahrscheinlich die Daten mit einer Programmiersprache weiter manipulieren, wodurch die Komplexität abhängig von den Feinheiten der gewählten Programmiersprache erhöht wird.