summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDwight <dmerriman@gmail.com>2009-09-29 13:26:37 -0400
committerDwight <dmerriman@gmail.com>2009-09-29 13:26:37 -0400
commit665b14f97f03d807e2d3a42a0e0d2f02ae85fd83 (patch)
tree0f141b2bb29fbd08c69369a08456764ec53510c3
parent7cb2e80e14bef55097978748cce83869913e193e (diff)
parent966e13e27f875a863bea62e02c7425b77dab39c6 (diff)
downloadmongo-665b14f97f03d807e2d3a42a0e0d2f02ae85fd83.tar.gz
Merge branch 'master' of git@github.com:mongodb/mongo
-rw-r--r--db/mr.cpp4
-rw-r--r--jstests/mr1.js10
2 files changed, 13 insertions, 1 deletions
diff --git a/db/mr.cpp b/db/mr.cpp
index 0baa5e976cd..4521f7631ca 100644
--- a/db/mr.cpp
+++ b/db/mr.cpp
@@ -255,7 +255,9 @@ namespace mongo {
_tlmr.reset( mrtl );
BSONObj q;
-
+ if ( cmdObj["query"].type() == Object )
+ q = cmdObj["query"].embeddedObjectUserCheck();
+
auto_ptr<DBClientCursor> cursor = db.query( ns , q );
while ( cursor->more() ){
BSONObj o = cursor->next();
diff --git a/jstests/mr1.js b/jstests/mr1.js
index bf1b23b0f7b..82a2e8e7cf5 100644
--- a/jstests/mr1.js
+++ b/jstests/mr1.js
@@ -37,10 +37,20 @@ assert.eq( 3 , z.keySet().length , "C" );
assert.eq( 2 , z.a , "D" );
assert.eq( 3 , z.b , "E" );
assert.eq( 3 , z.c , "F" );
+x.drop();
+res = db.runCommand( { mapreduce : "mr1" , map : m , reduce : r , query : { x : { "$gt" : 2 } } } );
+assert.eq( 2 , res.numObjects , "B" );
+x = db[res.result];
+z = {};
+x.find().forEach( function(a){ z[a.key] = a.value.count; } );
+assert.eq( 1 , z.a , "C1" );
+assert.eq( 1 , z.b , "C2" );
+assert.eq( 2 , z.c , "C3" );
x.drop();
+
for ( i=5; i<1000; i++ ){
t.save( { x : i , tags : [ "b" , "d" ] } );
}