Считать повторяющиеся объекты в документе в монго - PullRequest
0 голосов
/ 17 мая 2019

У меня есть данные такого типа, где я хочу считать повторяющиеся объекты в соответствии со строкой

{

    "version":"2.0",
    "type":"DevicesSeen",
    "data":{
        "observations":[
            {
                "manufacturer":"Apple"
            },
            {
                "manufacturer":"GUANGDONG OPPO MOBILE..."
            },
            {
                "manufacturer":"Apple"
            }
        ]
    }

}

Я хочу рассчитывать на производителя пример Яблоко: 2 Samsung: 1

1 Ответ

1 голос
/ 17 мая 2019

Попробуйте это

db.collection.aggregate([
    {
        $unwind: "$data.observations"
    },
    {
        $group: {
            _id: "$data.observations.manufacturer",
            counts: {$sum :1}
        }
    }
 ])

Результат будет таким, как показано ниже:

/* 1 */
{
    "_id" : "GUANGDONG OPPO MOBILE...",
    "counts" : 1
},

/* 2 */
{
    "_id" : "Apple",
    "counts" : 2
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...