File: count2.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 (28 lines) | stat: -rw-r--r-- 1,141 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
28
t = db.count2;
t.drop();

for ( var i=0; i<1000; i++ ){
    t.save( { num : i , m : i % 20 } );
}

assert.eq( 1000 , t.count() , "A" )
assert.eq( 1000 , t.find().count() , "B" )
assert.eq( 1000 , t.find().toArray().length , "C" )

assert.eq( 50 , t.find( { m : 5 } ).toArray().length , "D" )
assert.eq( 50 , t.find( { m : 5 } ).count() , "E" )

assert.eq( 40 , t.find( { m : 5 } ).skip( 10 ).toArray().length , "F" )
assert.eq( 50 , t.find( { m : 5 } ).skip( 10 ).count() , "G" )
assert.eq( 40 , t.find( { m : 5 } ).skip( 10 ).countReturn() , "H" )

assert.eq( 20 , t.find( { m : 5 } ).skip( 10 ).limit(20).toArray().length , "I" )
assert.eq( 50 , t.find( { m : 5 } ).skip( 10 ).limit(20).count() , "J" )
assert.eq( 20 , t.find( { m : 5 } ).skip( 10 ).limit(20).countReturn() , "K" )

assert.eq( 5 , t.find( { m : 5 } ).skip( 45 ).limit(20).countReturn() , "L" )

// Negative skip values should return error
var negSkipResult = db.runCommand({ count: 't', skip : -2 });
assert( ! negSkipResult.ok , "negative skip value shouldn't work, n = " + negSkipResult.n );
assert( negSkipResult.errmsg.length > 0 , "no error msg for negative skip" );