MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

mongodb unwind array nidificato all'interno di un array di documenti

In rilassati stage, il campo dovrebbe essere un campo array. Se non è un campo array, lo tratta come un array di 1 elemento.

Dai documenti:

Modificato nella versione 3.2:$unwind stage non genera più errori su operandi non array. Se l'operando non si risolve in un array ma non è mancante, nullo o un array vuoto, $unwind considera l'operando come un array a elemento singolo.

Rispondi alla tua domanda:

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}
        }
    }
])

Refer Shell Output