diff options
Diffstat (limited to 'jstests/mr2.js')
-rw-r--r-- | jstests/mr2.js | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/jstests/mr2.js b/jstests/mr2.js index 0a8e9d6..709c305 100644 --- a/jstests/mr2.js +++ b/jstests/mr2.js @@ -29,7 +29,12 @@ function r( who , values ){ function reformat( r ){ var x = {}; - r.find().forEach( + var cursor; + if ( r.results ) + cursor = r.results; + else + cursor = r.find(); + cursor.forEach( function(z){ x[z._id] = z.value; } @@ -41,10 +46,22 @@ function f( who , res ){ res.avg = res.totalSize / res.num; return res; } -res = t.mapReduce( m , r , { finalize : f } ); + +res = t.mapReduce( m , r , { finalize : f , out : "mr2_out" } ); +printjson( res ) x = reformat( res ); -assert.eq( 9 , x.a.avg , "A" ); -assert.eq( 16 , x.b.avg , "B" ); -assert.eq( 18 , x.c.avg , "C" ); +assert.eq( 9 , x.a.avg , "A1" ); +assert.eq( 16 , x.b.avg , "A2" ); +assert.eq( 18 , x.c.avg , "A3" ); res.drop(); +res = t.mapReduce( m , r , { finalize : f , out : { inline : 1 } } ); +printjson( res ) +x = reformat( res ); +assert.eq( 9 , x.a.avg , "B1" ); +assert.eq( 16 , x.b.avg , "B2" ); +assert.eq( 18 , x.c.avg , "B3" ); +res.drop(); + +assert( ! ( "result" in res ) , "B4" ) + |