drdl18946 2019-04-16 09:57
浏览 147

如何在mgo bson中聚合字段类型map [string] uint32?

I am trying to get aggregated values from a mongo collection using bson and Golang where the field used in Golang is of type map[string]uint32.

This is the struct am using and the field is Csat.

type Conversations struct {
     ID   bson.ObjectId     `bson:"_id"`
     Csat map[string]uint32 `bson:"csat"`

}

The output using bson should be in key value pairs, these are some examples I tried but did not work,

1.

bson.M{

    "csat["1"]": bson.M{
        "$sum": bson.M{"$cond": []interface{}{bson.M{"$eq": []interface{}{"$score", 1}}, 1, 0}},
    },
    "csat["2"]": bson.M{
        "$sum": bson.M{"$cond": []interface{}{bson.M{"$eq": []interface{}{"$score", 2}}, 1, 0}},
    }

2.

bson.M{
        "csat": bson.M{
            "1": bson.M{
                "$sum": bson.M{"$cond": []interface{}{bson.M{"$eq": []interface{}{"$score", 1}}, 1, 0}},
            },
            "2": bson.M{
                "$sum": bson.M{"$cond": []interface{}{bson.M{"$eq": []interface{}{"$score", 2}}, 1, 0}},
            },
        }
    }

I expect it to store it like {"csat": {"1": 3}, {"2": 2}, ...} where 3 and 2 could be values of the keys.

If anyone has done something like this before, can you please help me out?

Thanks.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
    • ¥15 扩散模型sd.webui使用时报错“Nonetype”
    • ¥15 stm32流水灯+呼吸灯+外部中断按键
    • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
    • ¥15 NX MCD仿真与博途通讯不了啥情况
    • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
    • ¥15 gradio的web端页面格式不对的问题
    • ¥15 求大家看看Nonce如何配置
    • ¥15 Matlab怎么求解含参的二重积分?
    • ¥15 苹果手机突然连不上wifi了?