MongoDB-Sortierung
In MongoDB verwenden Sie die Methode sort(), um Daten zu sortieren. Die Methode sort() kann über Parameter das Feld angeben, nach dem sortiert werden soll, und mit 1 und -1 die Sortierreihenfolge festlegen, wobei 1 für aufsteigende Reihenfolge und -1 für absteigende Reihenfolge steht.
Syntax
Die grundlegende Syntax der Methode sort() lautet wie folgt:
db.collection.find().sort({ field1: 1, field2: -1 })
{ field1: 1, field2: -1 }: Geben Sie das Feld an, nach dem sortiert werden soll, und die Sortierreihenfolge. 1 steht für aufsteigende Reihenfolge, -1 für absteigende Reihenfolge.
Beispiel
Nach Feld in aufsteigender Reihenfolge sortieren:
Beispiel
db.myCollection.find().sort({ age: 1 });
Nach Feld in absteigender Reihenfolge sortieren:
Beispiel
db.myCollection.find().sort({ createdAt: -1 });
Sie können mehrere Felder zum Sortieren angeben, und MongoDB sortiert sie in der Reihenfolge der angegebenen Felder.
Beispiel
db.myCollection.find().sort({ age: 1, createdAt: -1 });
Die Daten in der Collection col sind wie folgt:
{ "_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 }
Das folgende Beispiel zeigt die Daten in der Collection col, absteigend nach dem Feld likes sortiert:
>db.col.find({},{"title":1,_id:0}).sort({"likes":-1})
{ "title" : "PHP 教程" }
{ "title" : "Java 教程" }
{ "title" : "MongoDB 教程" }
>
Hinweise
- MongoDB sortiert die Abfrageergebnisse bei der Durchführung der Sortierung, was die Leistung beeinträchtigen kann, insbesondere bei großen Datensätzen, bei denen Sortiervorgänge langsamer sein können.
- Wenn ein Index für das Sortierfeld vorhanden ist, können Sortiervorgänge effizienter sein. Wenn Sie häufig Sortiervorgänge durchführen, sollten Sie die Erstellung geeigneter Indizes in Betracht ziehen, um die Leistung zu verbessern.
Durch die Verwendung der Methode sort() können Sie MongoDB-Abfrageergebnisse bequem sortieren, um unterschiedliche Sortieranforderungen zu erfüllen, und Dokumente je nach Bedarf aufsteigend oder absteigend anordnen.
Andere Erweiterungen