mongoDB 分组,拆分内嵌子集合

最近搞MongoDB,在使用的过程中,发现操作一条文档中的内嵌List的时候,需要用到聚合函数,用mongodb 的说法是,管道操作符。

用下面里例子来说: 

我需要操作mioPlnmioInfo中一条文档的mioLogList内嵌子集合:,我要根据集合中的某一个key 来分组,

 

具体代码如下:

1.使用$project,从文档中提取出需要操作的字段;

2.使用$unwind,将数组集合中的每一个值拆分成独立的文档。

3.使用$match,对文档集合进去筛选,查询条件

4.使用$group,依据特定的字段进行分组,

(详细介绍可以去自己百度下相应的介绍)

db.mioPlnmioInfo.aggregate(

 

    {"$project":{"mioLogList": 1}},
    {"$unwind" :"$mioLogList"},
    {"$match":{"mioLogList.coreState":"N"}},
    {"$group":{"_id":"$mioLogList.cntrNo","count":{"$sum":1}}}

 

);

 

执行后的返回结果:

 

 

目前处于初学阶段,学会一个功能点,就记录下来,大家一起探讨,共同学习进步

 

 

你可能感兴趣的:(MongoDB)