zoukankan      html  css  js  c++  java
  • mongodb mapreduce学习

    for( var i = 1; i < 10001; i++){
     db.students.insert({classid:i%400, age:i%100, name:'Tom'+i})
    }
    db.students.insert({classid:1, age:14, name:'Tom'})
    db.students.insert({classid:1, age:12, name:'Jacky'})
    db.students.insert({classid:2, age:16, name:'Lily'})
    db.students.insert({classid:2, age:9, name:'Tony'})
    db.students.insert({classid:2, age:19, name:'Harry'})
    db.students.insert({classid:2, age:13, name:'Vincent'})
    db.students.insert({classid:1, age:14, name:'Bill'})
    db.students.insert({classid:2, age:17, name:'Bruce'})


    m = function() {
        emit(this.classid, 1) 
    }


    r = function(key, values) {
         var x = 0;
         values.forEach(
            function(v) { x += v }
         );
        return x;
     }

     res = db.runCommand({
        mapreduce:"students",
         map:m,
        reduce:r,
        out:"students_res"
     });

    db.students_res.find()

    m = function() {
        emit(this.classid, {cnt:1,name:this.name}) 
    }


    r = function(key, values) {
         var x = 0;
         var names="";
         values.forEach(
            function(v)
            {
                x += v.cnt;
                names+=v.name;
            }
         );
        return {classid:key,cnt:x,names:names};
     }

     res = db.runCommand({
        mapreduce:"students",
         map:m,
        reduce:r,
        out:"students_res"
     });

    db.students_res.find()

    f = function(key, value) { return {classid:key, count:value}; }

    res = db.runCommand({
        mapreduce:"students",
        map:m,
        reduce:r,
        out:"students_res",
        finalize:f
    });

    db.students_res.find()

    res = db.runCommand({
         mapreduce:"students",
         map:m,
         reduce:r,
         out:"students_res",
         finalize:f,
         query:{age:{$lt:10}}
     });

    db.students_res.find()
  • 相关阅读:
    项目下目录正确,却出现404
    Operation not allowed after ResultSet closed 结果集关闭异常
    Could not autowire.No beans of 'ItemsService' type found
    python,hashlib模块
    Ajax PHP项目实战
    PHP的数据类型总结
    解析导航栏的url
    PHP--冒泡、选择、插入排序法
    jQuery(二) jQuery对Ajax的使用
    easyui(一) 初始easyui
  • 原文地址:https://www.cnblogs.com/cxd4321/p/2507779.html
Copyright © 2011-2022 走看看