Files
mongo/jstests/core/mr_outreduce2.js
2016-03-09 12:18:14 -05:00

31 lines
664 B
JavaScript

normal = "mr_outreduce2";
out = normal + "_out";
t = db[normal];
t.drop();
db[out].drop();
t.insert({_id: 1, x: 1});
t.insert({_id: 2, x: 1});
t.insert({_id: 3, x: 2});
m = function() {
emit(this.x, 1);
};
r = function(k, v) {
return Array.sum(v);
};
res = t.mapReduce(m, r, {out: {reduce: out}, query: {_id: {$gt: 0}}});
assert.eq(2, db[out].findOne({_id: 1}).value, "A1");
assert.eq(1, db[out].findOne({_id: 2}).value, "A2");
t.insert({_id: 4, x: 2});
res = t.mapReduce(m, r, {out: {reduce: out}, query: {_id: {$gt: 3}}, finalize: null});
assert.eq(2, db[out].findOne({_id: 1}).value, "B1");
assert.eq(2, db[out].findOne({_id: 2}).value, "B2");