Trier les Documents par un Champ Unique
Dans cette étape, vous apprendrez à trier les documents d'une collection MongoDB. Le tri vous permet d'organiser les résultats d'une requête dans un ordre spécifique, ce qui est crucial pour l'analyse et la présentation des données. Votre environnement a été préconfiguré avec une base de données bookstore contenant une collection books.
Tout d'abord, ouvrez le shell MongoDB pour interagir avec la base de données. Dans votre terminal, exécutez la commande suivante :
mongosh
Une fois dans le shell, basculez vers la base de données bookstore.
use bookstore
Pour voir les documents de la collection books, vous pouvez utiliser la méthode find().
db.books.find();
Maintenant, trions ces documents. Pour trier par un seul champ, vous chaînez la méthode .sort() à une requête find(). La méthode sort() prend un objet spécifiant le champ par lequel trier et la direction : 1 pour ascendant et -1 pour descendant.
Trions les livres par nombre de pages dans l'ordre ascendant (du moins au plus de pages).
db.books.find().sort({ pages: 1 });
Vous verrez le livre avec le moins de pages, "Python Basics", listé en premier.
[
{
_id: ObjectId('...'),
title: 'Python Basics',
pages: 250,
price: 29.99
},
{
_id: ObjectId('...'),
title: 'MongoDB Fundamentals',
pages: 300,
price: 34.99
},
...
]
Ensuite, trions les livres par prix dans l'ordre descendant pour trouver d'abord les plus chers.
db.books.find().sort({ price: -1 });
Cette commande affichera "Data Science" en premier, car il a le prix le plus élevé.
[
{
_id: ObjectId('...'),
title: 'Data Science',
pages: 350,
price: 44.99
},
{
_id: ObjectId('...'),
title: 'JavaScript Advanced',
pages: 400,
price: 39.99
},
...
]