46 lines
817 B
JavaScript
46 lines
817 B
JavaScript
|
|
|
|
t = db.mr_optim;
|
|
t.drop();
|
|
|
|
for (var i = 0; i < 1000; ++i) {
|
|
t.save({a: Math.random(1000), b: Math.random(10000)});
|
|
}
|
|
|
|
function m() {
|
|
emit(this._id, 13);
|
|
}
|
|
|
|
function r(key, values) {
|
|
return "bad";
|
|
}
|
|
|
|
function reformat(r) {
|
|
var x = {};
|
|
var cursor;
|
|
if (r.results)
|
|
cursor = r.results;
|
|
else
|
|
cursor = r.find();
|
|
cursor.forEach(function(z) {
|
|
x[z._id] = z.value;
|
|
});
|
|
return x;
|
|
}
|
|
|
|
res = t.mapReduce(m, r, {out: "mr_optim_out"});
|
|
printjson(res);
|
|
x = reformat(res);
|
|
for (var key in x) {
|
|
assert.eq(x[key], 13, "value is not equal to original, maybe reduce has run");
|
|
}
|
|
res.drop();
|
|
|
|
res = t.mapReduce(m, r, {out: {inline: 1}});
|
|
// printjson( res )
|
|
x2 = reformat(res);
|
|
res.drop();
|
|
|
|
assert.eq(x, x2, "object from inline and collection are not equal");
|
|
|
|
t.drop(); |