Recupere a lista de itens verificando vários valores de atributo no MongoDB em golang

Esta questão com base no MongoDB, Como recuperar itens selecionados recuperar selecionando várias condições.É como a condição IN no Mysql

SELECIONE * DO venuelista ONDE venueid IN (venueid1, venueid2)

Anexei a estrutura de dados json que usei.[Ref: JSON ESTRUTURA DO MONGODB].

Por exemplo, ele possui uma lista de locais e, em seguida, dentro da lista de locais, possui vários IDs de locais de atributos e soma do nome dos agentes do usuário e contagem total como valor. Neste caso eu usei os distribuição. Nesse caso, eu era count linux, ubuntu count em particular venueid.

é tipo isso,

"sum" : [
    {
        "name" : "linux",
        "value" : 12
    },
    {
        "name" : "ubuntu",
        "value" : 4
    }
],

Finalmente, quero obter a contagem de toda a contagem de usuários do linux, selecionando a lista de locais em uma consulta de localização no MongoDB.

Como exemplo, quero selecionar toda a contagem de usuários do Linux condicionando se o ID do localVID1212 ouVID4343

Ref: JSON ESTRUTURA DO MONGODB

{
    "_id" : ObjectId("57f940c4932a00aba387b0b0"),
    "tenantID" : 1,
    "date" : "2016-10-09 00:23:56",
    "venueList" : [
        {
            "id" : “VID1212”,
            "sum" : [
                {
                      "name" : "linux",
                      "value" : 12
                },
                {
                    "name" : "ubuntu",
                    "value" : 4
                }
            ],
            “ssidList” : [    // this is list of ssid’s in venue
                {
                    "id" : “SSID1212”,
                    "sum" : [
                        {
                            "name" : "linux",
                            "value" : 8
                        },
                        {
                            "name" : "ubuntu",
                            "value" : 6
                        }
                    ],
                    “macList” : [  // this is mac list inside particular ssid  ex: this is mac list inside the SSID1212
                        {
                            "id" : “12:12:12:12:12:12”,
                            "sum" : [
                                {
                                    "name" : "linux",
                                    "value" : 12
                                },
                                {
                                    "name" : "ubuntu",
                                    "value" : 1
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "id" : “VID4343”,
            "sum" : [
                {
                     "name" : "linux",
                     "value" : 2
                }
            ],
            "ssidList" : [
                {
                    "id" : “SSID4343”,
                    "sum" : [
                        {
                            "name" : "linux",
                            "value" : 2
                        }
                    ],
                    "macList" : [
                        {
                            "id" : “43:43:43:43:43:34”,
                            "sum" : [
                                {
                                    "name" : "linux",
                                    "value" : 2
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

Estou usando o golang como linguagem para manipulação de dados com o mongoldb usando o pacote mgo.v2

O resultado esperado é:

resultado

linux: 12 + 2 = 14Ubuntu: 4 + 0 = 4

Não considere a lista interna de venuelistas.

questionAnswers(1)

yourAnswerToTheQuestion