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

gruppo in mongo escludendo i valori null

Hai bisogno di un $match passaggio della pipeline che filtrerà i documenti in arrivo in base al campo incorporato "$productAttribute.colour" esistente e non nullo:

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