Practical Query Examples
Scénarios de requêtes Min/Max dans le monde réel
Configuration de la base de données
mongo
use labex_examples
1. Requêtes sur les produits d'e-commerce
Recherche des plages de prix
db.products.aggregate([
{
$group: {
_id: "$category",
cheapestProduct: { $min: "$price" },
mostExpensiveProduct: { $max: "$price" }
}
}
]);
2. Analyse des salaires des employés
Insights sur les salaires par département
db.employees.aggregate([
{
$group: {
_id: "$department",
lowestSalary: { $min: "$salary" },
highestSalary: { $max: "$salary" },
salaryRange: {
$subtract: [{ $max: "$salary" }, { $min: "$salary" }]
}
}
}
]);
3. Requêtes basées sur le temps
Suivi de l'activité des utilisateurs
db.userLogs.aggregate([
{
$group: {
_id: "$userId",
firstLogin: { $min: "$timestamp" },
lastLogin: { $max: "$timestamp" }
}
}
]);
Diagramme de flux de la stratégie de requête
graph TD
A[Input Collection] --> B{Select Grouping Field}
B --> C[Apply Min/Max Operators]
C --> D[Process Results]
D --> E[Analyze Data]
Technique |
Impact |
Recommandation |
Indexation |
Élevé |
Créez des index sur les champs de requête |
Limitation des résultats |
Moyen |
Utilisez l'étape $limit |
Projection |
Faible |
Sélectionnez seulement les champs nécessaires |
Filtrage avancé
Min/Max conditionnels
db.sales.aggregate([
{ $match: { region: "North" } },
{
$group: {
_id: "$product",
maxSale: { $max: "$amount" }
}
}
]);
Meilleures pratiques
- Utilisez des index appropriés
- Minimisez le traitement des données
- Découpez les requêtes complexes en étapes
Propulsé par LabEx, maîtrisez les techniques de requête MongoDB.