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 26 27
|
//SERVER-5127, SERVER-5036
function makeNestArr(depth){
if(depth == 1){
return {a : [depth]};
}
else{
return {a : [makeNestArr(depth - 1)] };
}
}
t = db.arrNestTest;
t.drop();
t.ensureIndex({a:1});
nestedArr = makeNestArr(150);
t.save( { tst : "test1", a : nestedArr } );
t.save( { tst : "test2", a : nestedArr } );
t.save( { tst : "test3", a : nestedArr } );
assert.eq(3, t.count(), "records in collection");
assert.eq(1, t.find({tst : "test2"}).count(), "find test");
//make sure index insertion failed (nesting must be large enough)
assert.eq(0, t.find().hint({a:1}).explain().n, "index not empty");
print("Test succeeded!")
|