MongoDB的一些聚合函数/MapReduce的使用

2022-07-15 612点热度 0人点赞 0条评论

需求说明

使用MongoDB统计某个字段(Field)出现相同个数的情况,例如:统计某个泄露数据库前20的相同密码次数的情况。

实现

使用MondoDB的aggregate或者mapreduce来实现,举例:

db.some_collection.aggregate(
 [
   { $group: { _id: "$password", count: { $sum: 1 } } },
   { $sort: { count: -1 } },
   { $limit: 20 }
 ]
)

或者:

db.runCommand({
    'mapreduce': 'some_collection',
    'map':function(){
        return emit(this.password,1);
    },
    'reduce':function(key,values){
        var x = 0;
        values.forEach(function(value){
            x+=value;
        });
        return x;
    },
    'out':{inline:1}
});

 

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论