sql >> Databáze >  >> NoSQL >> MongoDB

$unwind prázdné pole

S verzí MongoDB 3.2 a novější, $unwind operátor má nyní několik možností, kde zejména preserveNullAndEmptyArrays možnost to vyřeší.

Pokud je tato možnost nastavena na hodnotu true a pokud je cesta nulová, chybí nebo je prázdné pole, $unwind vypíše dokument. Pokud je nepravda, $unwind nevypíše dokument, pokud je cesta nulová, chybí nebo je prázdné pole. Ve vašem případě jej nastavte na hodnotu true:

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


  1. Jak se dotazovat MongoDB s likem

  2. Získání unixového časového razítka v sekundách z MongoDB ISODate během agregace

  3. Tipy pro vzdálenou správu MongoDB

  4. Jak správně definovat objekt v poli ve schématu Mongoose pomocí 2d geo indexu