1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
// Test $in regular expressions with overlapping index bounds. SERVER-4677
t = db.jstests_inb;
t.drop();
function checkBoundsAndResults( query ) {
assert.eq( [ 'a', 'b' ], t.find( query ).explain().indexBounds.x[0] );
assert.eq( 4, t.count( query ) );
assert.eq( 4, t.find( query ).itcount() );
}
t.ensureIndex( {x:1} );
t.save( {x:'aa'} );
t.save( {x:'ab'} );
t.save( {x:'ac'} );
t.save( {x:'ad'} );
checkBoundsAndResults( {x:{$in:[/^a/,/^ab/]}} );
checkBoundsAndResults( {x:{$in:[/^ab/,/^a/]}} );
|