summaryrefslogtreecommitdiff
path: root/jstests/inb.js
blob: 34ec843d36c001d05b63f6a8cc08b57550b80def (plain)
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/]}} );