
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" );



