统计数组中某个属性的个数

{
  attrib : [
        { k: "color", v: "red" },
        { k: "shape", v: "rectangle" },
        { k: "color", v: "blue" },
        { k: "avail", v: true }
       ]
}

统计 color 中不同属性个数
db.so.aggregate( [
    { $unwind : '$attrib' },
    { $match: { 'attrib.k' : 'color' } },
    { $group: { _id: '$attrib.v', count: { '$sum': 1 } } }
] );

{
    "result" : [
        {
            "_id" : ObjectId("51eeb9f2812db9ff4412f132"),
            "attrib" : {
                "k" : "color",
                "v" : "red"
            }
        },
        {
            "_id" : ObjectId("51eeb9f2812db9ff4412f132"),
            "attrib" : {
                "k" : "color",
                "v" : "blue"
            }
        }
    ],
    "ok" : 1
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值