Sortieren nach Datum in Mungo-aggregation framework

Im arbeiten auf einer nodejs+mongodb-Projekt mit Mungo. Jetzt habe ich über eine Frage, die ich nicht wissen, die Antwort auf.
Ich bin mit aggregation-framework zu bekommen, gruppiert die Ergebnisse. Die Gruppierung erfolgt auf ein Datum ohne Zeit-Daten-Feld wie: "2013 02 06". Code sieht wie folgt aus:

MyModel.aggregate([
            {$match: {$and: [{created_date: {$gte: start_date}}, {created_date: {$lte: end_date}}]}},
            {$group: {
                _id: {
                    year: {$year: "$created_at"},
                    month: {$month: "$created_at"},
                    day: {$dayOfMonth: "$created_at"}
                },
                count: {$sum: 1}
            }},
            {$project: {
                date: {
                        year: "$_id.year",
                        month:"$_id.month",
                        day:"$_id.day"
                },
                count: 1,
                _id: 0
            }}
        ], callback);

Zusammengefassten Ergebnisse sind perfekt, außer, dass Sie nicht sortiert sind. Hier ist ein Beispiel der Ausgabe:

[
    {
        count: 1,
        date: {
            year: 2013,
            month: 2,
            day: 7
        }
    },
    {
        count: 1906,
        date: {
            year: 2013,
            month: 2,
            day: 4
        }
    },
    {
        count: 1580,
        date: {
            year: 2013,
            month: 2,
            day: 5
        }
    },
    {
        count: 640,
        date: {
            year: 2013,
            month: 2,
            day: 6
        }
    }
]

Ich weiß, die Sortierung erfolgt, indem diese: {$sort: val}. Aber ich bin mir jetzt nicht sicher was das sein soll val so würden die Ergebnisse werden nach Datum sortiert als mein Gruppierungsschlüssel es ein Objekt von 3 Werten konstruieren Sie das Datum ein. Weiß jemand wie das erreicht werden könnte?

BEARBEITEN
Habe versucht und es funktionierte 🙂

{$sort: {"date.year":1, "date.month":1, "date.day":1}}

InformationsquelleAutor ArVan | 2013-02-07
Schreibe einen Kommentar