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

mongodb count sottodocumento ed elenca i totali

Puoi ottenere direttamente il numero di elementi nella addressBook campo array di ciascun utente utilizzando $size :

db.users.aggregate([
    {$project: {_id: 1, count: {$size: '$addressBook'}}}
])

Uscita:

{
    "result" : [ 
        {
            "_id" : ObjectId("540c83f9d901f28b921a328c"),
            "count" : 2
        }
    ],
    "ok" : 1
}

Nota che il $size operatore è stato introdotto in MongodB 2.6.