summaryrefslogtreecommitdiff
path: root/jstests/core/regexc.js
blob: 43ad7fd860cbd02840bd726b8df98854a271c575 (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
// Multiple regular expressions using the same index

var t = db.jstests_regexc;

// $and using same index twice
t.drop();
t.ensureIndex({a: 1});
t.save({a: "0"});
t.save({a: "1"});
t.save({a: "10"});
assert.eq(1, t.find({$and: [{a: /0/}, {a: /1/}]}).itcount());

// implicit $and using compound index twice
t.drop();
t.ensureIndex({a: 1, b: 1});
t.save({a: "0", b: "1"});
t.save({a: "10", b: "10"});
t.save({a: "10", b: "2"});
assert.eq(2, t.find({a: /0/, b: /1/}).itcount());

// $or using same index twice
t.drop();
t.ensureIndex({a: 1});
t.save({a: "0"});
t.save({a: "1"});
t.save({a: "2"});
t.save({a: "10"});
assert.eq(3, t.find({$or: [{a: /0/}, {a: /1/}]}).itcount());