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

grupo en mongo excluyendo valores nulos

Necesita un $match paso de canalización que filtrará los documentos entrantes según el campo incrustado "$productAttribute.colour" existente y no nulo:

    db.productMetadata.aggregate([
    { 
        "$match": {
            "productAttribute.colour": { 
                "$exists": true, 
                "$ne": null 
            }
        }    
    },
    { 
        "$group": {
            "_id": {
                "color": "$productAttribute.colour",
                "gender": "$productAttribute.gender"
            },
            "count": { 
                "$sum": 1 
            }
        }   
    }        
]);