summaryrefslogtreecommitdiff
path: root/jstests/core/explain1.js
blob: 2022a189a07a6e5f6671cf3292dc44361ac0ee3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

t = db.explain1;
t.drop();

for ( var i=0; i<100; i++ ){
    t.save( { x : i } );
}

q = { x : { $gt : 50 } };

assert.eq( 49 , t.find( q ).count() , "A" );
assert.eq( 49 , t.find( q ).itcount() , "B" );
assert.eq( 20 , t.find( q ).limit(20).itcount() , "C" );

t.ensureIndex( { x : 1 } );

assert.eq( 49 , t.find( q ).count() , "D" );
assert.eq( 49 , t.find( q ).itcount() , "E" );
assert.eq( 20 , t.find( q ).limit(20).itcount() , "F" );

assert.eq( 49 , t.find(q).explain("executionStats").executionStats.nReturned , "G" );
assert.eq( 20 , t.find(q).limit(20).explain("executionStats").executionStats.nReturned , "H" );
assert.eq( 20 , t.find(q).limit(-20).explain("executionStats").executionStats.nReturned , "I" );
assert.eq( 49 , t.find(q).batchSize(20).explain("executionStats").executionStats.nReturned , "J" );