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

$unwind tableau vide

Avec la version 3.2 de MongoDB et les versions plus récentes, le $unwind l'opérateur a maintenant quelques options où en particulier le preserveNullAndEmptyArrays l'option résoudra ce problème.

Si cette option est définie sur true et si le chemin est nul, manquant ou un tableau vide, $unwind sort le document. Si faux, $unwind ne génère pas de document si le chemin est nul, manquant ou un tableau vide. Dans votre cas, définissez-le sur true :

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