我每天2次在MongoDB集合上运行Map-reduce作业。它基本上统计订单并将它们放在不同的类别(包裹的大小,交付公司)。结果文档是一个对象,其中类别为键,订单数为值(整数)。
有时,Document的值会变成某种奇怪的Javascript代码。
以下是"代码"的第一行(超过500行):
0100function (){
var u = {}, a = [];
for(var i = 0, l = this.length; i < l; ++i){
if(u.hasOwnProperty(this[i])) {
continue;
}
a.push(this[i]);
u[this[i]] = 1;
}
return a;
}1111111111111111111111111111111111111111111111function (){
var u = {}, a = [];
for(var i = 0, l = this.length; i < l; ++i){
if(u.hasOwnProperty(this[i])) {
continue;
}
a.push(this[i]);
u[this[i]] = 1;
}
return a;
}( 052function (){
var u = {}, a = [];
for(var i = 0, l = this.length; i < l; ++i){
if(u.hasOwnProperty(this[i])) {
continue;
}
a.push(this[i]);
u[this[i]] = 1;
}
return a;
}1111111111111111111111111function (){
mongod --version返回
db version v2.6.10
2015-10-13T15:28:49.990+0000 git version: 5901dbfb49d16eaef6f2c2c50fba534d23ac7f6c
MAP功能
function () {
var amount = 0;
if(this.hasOwnProperty("articles")){
this.articles.forEach(function (a) {
amount += parseInt(a.amount);
});
}
if(amount>0)emit(amount, 1);
emit("total", 1);
if (amount == 1) {
emit("1SS", 1);
} else {
emit("Box", 1);
}
减少
function (key, vals) {
var sum = 0;
for (var i in vals) {
sum += vals[i];
}
return sum;
}
示例文档
{
"_id": "1SS",
"value":12
}