23 lines
793 B
JavaScript
23 lines
793 B
JavaScript
// Test explain result count when a skip parameter is used.
|
|
|
|
t = db.jstests_explain6;
|
|
t.drop();
|
|
|
|
t.save( {} );
|
|
explain = t.find().skip( 1 ).explain( true );
|
|
assert.eq( 0, explain.n );
|
|
// With only one plan, the skip information is known for the plan. This is an arbitrary
|
|
// implementation detail, but it changes the way n is calculated.
|
|
assert.eq( 0, explain.allPlans[ 0 ].n );
|
|
|
|
t.ensureIndex( {a:1} );
|
|
explain = t.find( {a:null,b:null} ).skip( 1 ).explain( true );
|
|
assert.eq( 0, explain.n );
|
|
// With multiple plans, the skip information is not known to the plan.
|
|
assert.eq( 1, explain.allPlans[ 0 ].n );
|
|
|
|
t.dropIndexes();
|
|
explain = t.find().skip( 1 ).sort({a:1}).explain( true );
|
|
// Skip is applied for an in memory sort.
|
|
assert.eq( 0, explain.n );
|
|
assert.eq( 1, explain.allPlans[ 0 ].n );
|