mongo学习- mapReduce操作事例

源数据:

{
    "_id" : 1.0,
    "name" : "abc",
    "age" : 43.0,
    "type" : 1.0,
    "status" : "P",
    "favorites" : {
        "artist" : "Picasso",
        "food" : "pizza"
    },
    "finished" : [ 
        17.0, 
        3.0
    ],
    "badges" : [ 
        "blue", 
        "black"
    ],
    "points" : [ 
        {
            "points" : 85.0,
            "bonus" : 20.0
        }, 
        {
            "points" : 85.0,
            "bonus" : 10.0
        }
    ]
}

/* 2 */
{
    "_id" : 2.0,
    "name" : "abc",
    "age" : 42.0,
    "type" : 1.0,
    "status" : "A",
    "favorites" : {
        "artist" : "Miro",
        "food" : "meringue"
    },
    "finished" : [ 
        11.0, 
        25.0
    ],
    "badges" : [ 
        "green"
    ],
    "points" : [ 
        {
            "points" : 85.0,
            "bonus" : 20.0
        }, 
        {
            "points" : 64.0,
            "bonus" : 12.0
        }
    ]
}

/* 3 */
{
    "_id" : 3.0,
    "name" : "ahn",
    "age" : 43.0,
    "type" : 2.0,
    "status" : "A",
    "favorites" : {
        "artist" : "Cassatt",
        "food" : "cake"
    },
    "finished" : [ 
        6.0
    ],
    "badges" : [ 
        "blue", 
        "red"
    ],
    "points" : [ 
        {
            "points" : 81.0,
            "bonus" : 8.0
        }, 
        {
            "points" : 55.0,
            "bonus" : 20.0
        }
    ]
}

/* 4 */
{
    "_id" : 4.0,
    "name" : "xi",
    "age" : 34.0,
    "type" : 2.0,
    "status" : "D",
    "favorites" : {
        "artist" : "Chagall",
        "food" : "chocolate"
    },
    "finished" : [ 
        5.0, 
        11.0
    ],
    "badges" : [ 
        "red", 
        "black"
    ],
    "points" : [ 
        {
            "points" : 53.0,
            "bonus" : 15.0
        }, 
        {
            "points" : 51.0,
            "bonus" : 15.0
        }
    ]
}

/* 5 */
{
    "_id" : 5.0,
    "name" : "xyz",
    "age" : 23.0,
    "type" : 2.0,
    "status" : "D",
    "favorites" : {
        "artist" : "Noguchi",
        "food" : "nougat"
    },
    "finished" : [ 
        14.0, 
        6.0
    ],
    "badges" : [ 
        "orange"
    ],
    "points" : [ 
        {
            "points" : 71.0,
            "bonus" : 20.0
        }
    ]
}

/* 6 */
{
    "_id" : 6.0,
    "name" : "abc",
    "age" : 43.0,
    "type" : 1.0,
    "status" : "A",
    "favorites" : {
        "food" : "pizza",
        "artist" : "Picasso"
    },
    "finished" : [ 
        18.0, 
        12.0
    ],
    "badges" : [ 
        "black", 
        "blue"
    ],
    "points" : [ 
        {
            "points" : 78.0,
            "bonus" : 8.0
        }, 
        {
            "points" : 57.0,
            "bonus" : 7.0
        }
    ]
}

  

var mrr=db.users.mapReduce(
function(){
emit(this.age,this.name);
},
function(key,values){
var a=Avalues.length;

var ret={age:key,names:a};
return ret;
},
{ out: {replace:"result"}}

);
db[mrr.result].find()

原文地址:https://www.cnblogs.com/anxbb/p/9475640.html