summaryrefslogtreecommitdiff
path: root/jstests/core/explain1.js
blob: 3c7d8b9df2c7fc49c8c69289d98aaf8aa1f34e97 (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
25
26

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");