
t = db.index_arr1
t.drop()

t.insert( { _id : 1 , a : 5 , b : [ { x : 1 } ] } )
t.insert( { _id : 2 , a : 5 , b : [] } )
t.insert( { _id : 3 , a : 5  } )

assert.eq( 3 , t.find( { a : 5 } ).itcount() , "A1" )

t.ensureIndex( { a : 1 , "b.x" : 1 } )

//t.find().sort( { a : 1 } )._addSpecial( "$returnKey" , 1 ).forEach( printjson )
//t.find( { a : 5 } ).forEach( printjson )

assert.eq( 3 , t.find( { a : 5 } ).itcount() , "A2" ); // SERVER-1082


assert.eq( 2 , t.getIndexes().length , "B1" )
t.insert( { _id : 4 , a : 5 , b : [] } )
t.ensureIndex( { a : 1 , "b.a" : 1 , "b.c" : 1 } )
assert.eq( 3 , t.getIndexes().length , "B2" )

