lgyx 发表于 2015-7-10 10:59:33

MongoDB的group分组操作

先插入测试数据:  

for(var i=1; i2;  

}  

    });  

group联合$where查询  

db.test.group({key:{age:true},initial:{num:0},$reduce:function(doc,prev){  

prev.num++  

},  

condition:{$where:function(){  

return this.age>2;  

}  

    }  

});  

3.使用函数返回值分组  

//注意,$keyf指定的函数一定要返回一个对象  

db.test.group({$keyf:function(doc){return {age:doc.age};},initial:{num:0},$reduce:function(doc,prev){  

prev.num++  

}  

});  

db.runCommand({group:  

{  

ns:"test",  

$keyf:function(doc){return {age:doc.age};},  

initial:{num:0},  

$reduce:function(doc,prev){  

prev.num++}  

}  

});  

4.使用终结器  

db.test.group({$keyf:function(doc){return {age:doc.age};},initial:{num:0},$reduce:function(doc,prev){  

prev.num++  

},  

finalize: function(doc){ doc.count=doc.num;delete doc.num; }  

});  

db.runCommand({group:  

{  

ns:"test",  

$keyf:function(doc){return {age:doc.age};},  

initial:{num:0},  

$reduce:function(doc,prev){  

prev.num++},  

finalize: function(doc){ doc.count=doc.num;delete doc.num; }  

}  

});  
页: [1]
查看完整版本: MongoDB的group分组操作