Sommaire

Le Tritri

Le tri s’effectue avec la méthode sort qui s’applique sur un curseur, comme suit :

curseur.sort(< tri >)

Le paramètre tri est un document qui décrit les tris à effectuer. Ils sont de deux types : croissants (notés 1) et décroissants (-1). Pour trier notre collection eleves par ordre croissant de nom, nous allons exécuter la requête suivante :

db.eleves.find({}, {"_id": 0, "nom": 1}).sort({"nom": 1})

Pour trier d’abord par ordre croissant de nom, puis par ordre décroissant de prénom, nous devrons légèrement modifier notre document de tri :

db.eleves.find({},{"_id":0,"nom": 1,"prenom": 1}).sort({"nom": 1,"prenom": -1})

Il est tout à fait possible de trier sur les valeurs contenues dans des documents. Pour notre collection eleves, nous pourrions ainsi demander un tri décroissant sur la première note obtenue dans le tableau notes :

db.eleves.find({},{"_id": 0, "nom": 1, "prenom": 1}).sort({"notes.0.note": -1})

Nous pouvons également utiliser la méthode limit conjointement à sort afin de limiter le nombre de résultats affichés. Son utilisation sera la même que lorsque nous l’avions combinée à find() car, tout comme find(), sort() retourne un curseur sur lequel limit va ensuite pouvoir s’appliquer.

Il existe cependant quelques restrictions ...