mirror of
https://github.com/mongodb/mongo.git
synced 2024-12-01 09:32:32 +01:00
48 lines
856 B
JavaScript
48 lines
856 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")
|
|
|