MongoDB Count Элементы массива по имени

pats спросил: 11 июня 2018 в 10:53 в: mongodb

У меня есть такие документы:

{
    "_id" : ObjectId("5b3ced158735f1196d73a743"),
    "cid" : 1,
    "foo" : [
        {
            "k" : "sport",
            "v" : "climbing"
        },
        {
            "k" : "sport",
            "v" : "soccer"
        },
        {
            "k" : "sport",
            "v" : "soccer"
        }
    ]
}

Этот запрос просто возвращает документы, содержащие футбольное поле.

db.coll.find({foo:{$elemMatch:{ v: "soccer"}} }, {"foo.$" : 1,cid:1})

возвращает :

{ "_id" : ObjectId("5b3ced158735f1196d73a743"), "cid" : 1, "node" : [ { "k" : "sport", "v" : "climbing" } ] }

Но я хочу знать, сколько футбольных элементов в каждом возвращенном документе. Как я могу их подсчитать?


0 ответов