Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie sortiere ich eingebettete Arrays in MongoDB-Sammlungen?

Patricia Arquette
Freigeben: 2024-11-07 07:27:03
Original
226 Leute haben es durchsucht

How to Sort Embedded Arrays in MongoDB Collections?

Eingebettete Arrays in MongoDB-Sammlungen sortieren

Problem:

Sie haben eine MongoDB-Sammlung von Schülerdatensätze, die jeweils ein eingebettetes Array von Ergebnissen enthalten. Sie möchten das Punkte-Array in absteigender Reihenfolge der Punktezahl für ein bestimmtes Dokument sortieren.

Lösung:

Um ein eingebettetes Array zu sortieren, können Sie einen der beiden benutzerdefinierten Anwendungscodes verwenden oder das in MongoDB 2.2 eingeführte Aggregation Framework.

Verwendung des Aggregation Framework:

Die folgende MongoDB-Shell-Aggregationspipeline sortiert das Scores-Array des Dokuments mit _id 1 in absteigender Reihenfolge der Punktzahl:

db.students.aggregate(
    { $match: {
        _id : 1
    }},
    { $unwind: '$scores' },
    { $match: {
        'scores.type': 'homework'
    }},
    { $sort: {
        'scores.score': -1
    }}
)
Nach dem Login kopieren

Ausgabe:

Diese Aggregation erzeugt die folgende Ausgabe, die die sortierten Hausaufgabenergebnisse für den Schüler mit _id 1 zeigt:

{
    "result" : [
        {
            "_id" : 1,
            "name" : "Aurelia Menendez",
            "scores" : {
                "type" : "homework",
                "score" : 71.76133439165544
            }
        },
        {
            "_id" : 1,
            "name" : "Aurelia Menendez",
            "scores" : {
                "type" : "homework",
                "score" : 34.85718117893772
            }
        }
    ],
    "ok" : 1
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie sortiere ich eingebettete Arrays in MongoDB-Sammlungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!