sql >> Databasteknik >  >> NoSQL >> MongoDB

mongodb aggregerar för att få längden på den första kapslade arrayen/listan

Som jag sa i kommentarerna , en $unwind steg följt av ett $project &$size kommer att lösa ditt problem:

[
   {
        $unwind : "$tags"
   },
   {
        $project: {
               tags_count: {$size: "$tags"}
        }
   }
]

ger mig det här dokumentet:

{
    tags_count: 3
}

Detta svarar på din nya fråga:

[
    {
         $unwind : "$properties"
    },
    {
         $unwind : "$properties.has_a"
    },
    {
         $group: {
             _id: null,
             count: {
                 $sum: 1
             }
          }
    }
]

returnerar följande:

{ count: 2}



  1. Hur man korrekt gör en Bulk upsert/uppdatering i MongoDB

  2. MongoDB $arrayElemAt

  3. Svar mongodb objectDB i Jersey API-REST

  4. Hur man använder $push update modifier i MongoDB och C#, när man uppdaterar en array i ett dokument