summaryrefslogtreecommitdiff
path: root/jstests/regex_embed1.js
blob: 61b1b9a14f681455c1cfa4ee98512e7a228030e7 (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

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.ensureIndex( { "a.x" : 1 } )
test( "B" );