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

$desenrollar matriz vacía

Con la versión 3.2 de MongoDB y posteriores, $unwind El operador ahora tiene algunas opciones donde, en particular, preserveNullAndEmptyArrays La opción resolverá esto.

Si esta opción se establece en verdadero y si la ruta es nula, falta o una matriz vacía, $unwind emite el documento. Si es falso, $unwind no genera un documento si la ruta es nula, falta o una matriz vacía. En su caso, configúrelo como verdadero:

db.collection.aggregate([
    { "$unwind": {
            "path": "$solved",
            "preserveNullAndEmptyArrays": true
    } },
    { "$group": {
        "_id": "$_id",
        "login": { "$first": "$login" },
        "solved": { "$sum": "$solved.points" }
    } }
])