File: explain2.js

package info (click to toggle)
mongodb 1%3A2.4.10-5
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 82,464 kB
  • sloc: cpp: 740,225; ansic: 152,098; sh: 13,820; python: 11,864; makefile: 1,012; perl: 922; pascal: 617; java: 452; lisp: 222; asm: 174
file content (27 lines) | stat: -rw-r--r-- 532 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

t = db.explain2
t.drop();

t.ensureIndex( { a : 1 , b : 1 } );

for ( i=1; i<10; i++ ){
    t.insert( { _id : i , a : i , b : i , c : i } );
}

function go( q , c , b , o ){
    var e = t.find( q ).hint( {a:1,b:1} ).explain();
    assert.eq( c , e.n , "count " + tojson( q ) )
    assert.eq( b , e.nscanned , "nscanned " + tojson( q ) )
    assert.eq( o , e.nscannedObjects , "nscannedObjects " + tojson( q ) )
}

q = { a : { $gt : 3 } }
go( q , 6 , 6 , 6 );

q.b = 5
go( q , 1 , 6 , 1 );

delete q.b
q.c = 5
go( q , 1 , 6 , 6 );