summaryrefslogtreecommitdiff
path: root/jstests/core/explain1.js
blob: 2de3e2f89d208c8e96c867e82ae258405f3b322d (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
27
28
29
// @tags: [
//   assumes_read_concern_local,
// ]

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.createIndex({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");