0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-12-01 01:21:03 +01:00
mongodb/jstests/mr_sort.js
Eliot Horowitz c0fa671318 map/reduce no longer uses temp collections.
you have to specify out
SERVER-1837
2010-12-16 16:41:28 -05:00

45 lines
837 B
JavaScript

t = db.mr_sort;
t.drop()
t.ensureIndex( { x : 1 } )
t.insert( { x : 1 } )
t.insert( { x : 10 } )
t.insert( { x : 2 } )
t.insert( { x : 9 } )
t.insert( { x : 3 } )
t.insert( { x : 8 } )
t.insert( { x : 4 } )
t.insert( { x : 7 } )
t.insert( { x : 5 } )
t.insert( { x : 6 } )
m = function(){
emit( "a" , this.x )
}
r = function( k , v ){
return Array.sum( v )
}
res = t.mapReduce( m , r , "mr_sort_out " );
x = res.convertToSingleObject();
res.drop();
assert.eq( { "a" : 55 } , x , "A1" )
res = t.mapReduce( m , r , { out : "mr_sort_out" , query : { x : { $lt : 3 } } } )
x = res.convertToSingleObject();
res.drop();
assert.eq( { "a" : 3 } , x , "A2" )
res = t.mapReduce( m , r , { out : "mr_sort_out" , sort : { x : 1 } , limit : 2 } );
x = res.convertToSingleObject();
res.drop();
assert.eq( { "a" : 3 } , x , "A3" )