sql >> Base de Datos >  >> NoSQL >> MongoDB

mongodb unwind array anidado dentro de una matriz de documentos

En desenrollar etapa, el campo debe ser un campo de matriz. Si no es un campo de matriz, lo trata como una matriz de 1 elemento.

De los documentos:

Modificado en la versión 3.2:la etapa $unwind ya no produce errores en los operandos que no son de matriz. Si el operando no se resuelve en una matriz pero no falta, es nulo o es una matriz vacía, $unwind trata el operando como una matriz de un solo elemento.

Respuesta a su consulta:

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

Consulte Shell Salida