MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

tableau de déroulement mongodb imbriqué dans un tableau de documents

Dans déroulez stage, le champ doit être un champ tableau. S'il ne s'agit pas d'un champ de tableau, il le traite comme un tableau de 1 élément.

D'après la documentation :

Modifié dans la version 3.2 :l'étape $unwind n'entraîne plus d'erreurs sur les opérandes non-tableaux. Si l'opérande ne se résout pas en un tableau mais n'est pas manquant, nul ou un tableau vide, $unwind traite l'opérande comme un tableau à un seul élément.

Réponse à votre requête :

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

Reportez-vous Shell Sortie