MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

mongodb entwindet ein Array, das in einem Array von Dokumenten verschachtelt ist

In entspannen Bühne, Feld sollte ein Array-Feld sein. Wenn es kein Array-Feld ist, wird es als Array mit 1 Element behandelt.

Aus der Dokumentation:

Geändert in Version 3.2:$unwind-Stufe verursacht keine Fehler mehr bei Nicht-Array-Operanden. Wenn der Operand nicht in ein Array aufgelöst wird, aber nicht fehlt, null oder ein leeres Array ist, behandelt $unwind den Operanden als ein Array mit einem einzelnen Element.

Antwort auf Ihre Frage:

db.response.aggregate([
    {
        $project:
        {
            "job_details.label_name":1,
            _id:0
        }
    },
    {
        $unwind:"$job_details.label_name"
    },
    {
        $group:
        {
            _id:"$job_details.label_name",
            count:{$sum:1}
        }
    }
])

Siehe Shell Ausgabe