From 3b9581e84e19723087b31b79674801b6c06ae533 Mon Sep 17 00:00:00 2001 From: Antonin Kral Date: Wed, 18 Aug 2010 09:23:15 +0200 Subject: Imported Upstream version 1.6.1 --- db/dbcommands.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'db/dbcommands.cpp') diff --git a/db/dbcommands.cpp b/db/dbcommands.cpp index 94edf0a..34d00c8 100644 --- a/db/dbcommands.cpp +++ b/db/dbcommands.cpp @@ -1451,17 +1451,18 @@ namespace mongo { BSONElementSet values; shared_ptr cursor = bestGuessCursor(ns.c_str() , query , BSONObj() ); + scoped_ptr cc (new ClientCursor(QueryOption_NoCursorTimeout, cursor, ns)); while ( cursor->ok() ){ - if ( cursor->matcher() && ! cursor->matcher()->matchesCurrent( cursor.get() ) ){ - cursor->advance(); - continue; + if ( !cursor->matcher() || cursor->matcher()->matchesCurrent( cursor.get() ) ){ + BSONObj o = cursor->current(); + o.getFieldsDotted( key, values ); } - BSONObj o = cursor->current(); cursor->advance(); - - o.getFieldsDotted( key.c_str(), values ); + + if (!cc->yieldSometimes()) + break; } BSONArrayBuilder b( result.subarrayStart( "values" ) ); -- cgit v1.2.3