summaryrefslogtreecommitdiff
path: root/jstests/core/mod1.js
blob: 11be6b1b29342304a48919a4738d569b19da9c1b (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

t = db.mod1;
t.drop();

t.save({a: 1});
t.save({a: 2});
t.save({a: 11});
t.save({a: 20});
t.save({a: "asd"});
t.save({a: "adasdas"});

assert.eq(2, t.find("this.a % 10 == 1").itcount(), "A1");
assert.eq(2, t.find({a: {$mod: [10, 1]}}).itcount(), "A2");
assert.eq(0,
          t.find({a: {$mod: [10, 1]}}).explain("executionStats").executionStats.totalKeysExamined,
          "A3");

t.ensureIndex({a: 1});

assert.eq(2, t.find("this.a % 10 == 1").itcount(), "B1");
assert.eq(2, t.find({a: {$mod: [10, 1]}}).itcount(), "B2");

assert.eq(1, t.find("this.a % 10 == 0").itcount(), "B3");
assert.eq(1, t.find({a: {$mod: [10, 0]}}).itcount(), "B4");
assert.eq(4,
          t.find({a: {$mod: [10, 1]}}).explain("executionStats").executionStats.totalKeysExamined,
          "B5");

assert.eq(1, t.find({a: {$gt: 5, $mod: [10, 1]}}).itcount());