1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
t = db.regex_embed1;
t.drop();
t.insert({_id: 1, a: [{x: "abc"}, {x: "def"}]});
t.insert({_id: 2, a: [{x: "ab"}, {x: "de"}]});
t.insert({_id: 3, a: [{x: "ab"}, {x: "de"}, {x: "abc"}]});
function test(m) {
assert.eq(3, t.find().itcount(), m + "1");
assert.eq(2, t.find({"a.x": "abc"}).itcount(), m + "2");
assert.eq(2, t.find({"a.x": /.*abc.*/}).itcount(), m + "3");
assert.eq(1, t.find({"a.0.x": "abc"}).itcount(), m + "4");
assert.eq(1, t.find({"a.0.x": /abc/}).itcount(), m + "5");
}
test("A");
t.createIndex({"a.x": 1});
test("B");
|