//SERVER-5127, SERVER-5036 function makeNestObj(depth){ toret = { a : 1}; for(i = 1; i < depth; i++){ toret = {a : toret}; } return toret; } t = db.objNestTest; t.drop(); t.ensureIndex({a:1}); n = 1; while ( true ) { var before = t.count(); t.insert( { _id : n, a : makeNestObj(n) } ); var after = t.count(); if ( before == after ) break; n++; } assert( n > 30, "not enough n: " + n ); assert.eq( t.count(), t.find( { _id : { $gt : 0 } } ).hint( { a : 1 } ).itcount() );