Tri MongoDB
Dans MongoDB, utilisez la méthode sort() pour trier les données. La méthode sort() peut spécifier le champ de tri via des paramètres, et utiliser 1 et -1 pour spécifier l'ordre de tri, où 1 correspond à l'ordre croissant et -1 à l'ordre décroissant.
Syntaxe
La syntaxe de base de la méthode sort() est la suivante :
db.collection.find().sort({ field1: 1, field2: -1 })
{ field1: 1, field2: -1 }: Spécifiez le champ de tri et l'ordre de tri. 1 indique l'ordre croissant, -1 indique l'ordre décroissant.
Exemple
Trier par champ par ordre croissant :
Exemple
db.myCollection.find().sort({ age: 1 });
Trier par champ par ordre décroissant :
Exemple
db.myCollection.find().sort({ createdAt: -1 });
Vous pouvez spécifier plusieurs champs pour le tri, et MongoDB les triera séquentiellement selon l'ordre des champs spécifié.
Exemple
db.myCollection.find().sort({ age: 1, createdAt: -1 });
Les données de la collection col sont les suivantes :
{ "_id" : ObjectId("56066542ade2f21f36b0313a"), "title" : "PHP 教程", "description" : "PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。", "by" : "Example", "url" : "http://www.example.com", "tags" : [ "php" ], "likes" : 200 }
{ "_id" : ObjectId("56066549ade2f21f36b0313b"), "title" : "Java 教程", "description" : "Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。", "by" : "Example", "url" : "http://www.example.com", "tags" : [ "java" ], "likes" : 150 }
{ "_id" : ObjectId("5606654fade2f21f36b0313c"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "Example", "url" : "http://www.example.com", "tags" : [ "mongodb" ], "likes" : 100 }
L'exemple suivant montre les données de la collection col triées par ordre décroissant selon le champ likes :
>db.col.find({},{"title":1,_id:0}).sort({"likes":-1})
{ "title" : "PHP 教程" }
{ "title" : "Java 教程" }
{ "title" : "MongoDB 教程" }
>
Notes
- MongoDB trie les résultats de requête lors de l'exécution d'un tri, ce qui peut affecter les performances, en particulier sur les grands ensembles de données où les opérations de tri peuvent être plus lentes.
- Si un index existe sur le champ de tri, les opérations de tri peuvent être plus efficaces. Lorsque vous effectuez des opérations de tri fréquentes, envisagez de créer des index appropriés pour améliorer les performances.
En utilisant la méthode sort(), vous pouvez facilement trier les résultats de requête MongoDB pour répondre à différents besoins de tri, et organiser les documents par ordre croissant ou décroissant selon les besoins.
Autres extensions