Praktische Abfragebeispiele
Min/Max-Abfrageszenarien aus der Realität
Datenbankeinrichtung
mongo
use labex_examples
1. E-Commerce-Produktabfragen
Finden von Preisbereichen
db.products.aggregate([
{
$group: {
_id: "$category",
cheapestProduct: { $min: "$price" },
mostExpensiveProduct: { $max: "$price" }
}
}
]);
2. Analyse der Mitarbeitergehälter
Einblicke in die Abteilungsgehälter
db.employees.aggregate([
{
$group: {
_id: "$department",
lowestSalary: { $min: "$salary" },
highestSalary: { $max: "$salary" },
salaryRange: {
$subtract: [{ $max: "$salary" }, { $min: "$salary" }]
}
}
}
]);
3. Zeitbasierte Abfragen
Verfolgen der Benutzeraktivität
db.userLogs.aggregate([
{
$group: {
_id: "$userId",
firstLogin: { $min: "$timestamp" },
lastLogin: { $max: "$timestamp" }
}
}
]);
Flussdiagramm der Abfragestrategie
graph TD
A[Input Collection] --> B{Select Grouping Field}
B --> C[Apply Min/Max Operators]
C --> D[Process Results]
D --> E[Analyze Data]
Leistungsüberlegungen
Technik |
Auswirkung |
Empfehlung |
Indizierung |
Hoch |
Erstellen Sie Indizes für die Abfragefelder |
Begrenzung der Ergebnisse |
Mittel |
Verwenden Sie die $limit-Stufe |
Projektion |
Niedrig |
Wählen Sie nur die erforderlichen Felder |
Fortgeschrittene Filterung
Bedingtes Min/Max
db.sales.aggregate([
{ $match: { region: "North" } },
{
$group: {
_id: "$product",
maxSale: { $max: "$amount" }
}
}
]);
Best Practices
- Verwenden Sie geeignete Indizes
- Minimieren Sie die Datenverarbeitung
- Teilen Sie komplexe Abfragen in Stufen auf
Powered by LabEx, die MongoDB-Abfragetechniken meistern.