summaryrefslogtreecommitdiff
path: root/jstests/nestedobj1.js
blob: 934aec42ee30aebbbe5b57ada2d5324d8354b304 (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
26
27
28
29
30
31
//SERVER-5127, SERVER-5036

if ( typeof _threadInject == "undefined" ) { // SERVER-6448

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

nestedObj = makeNestObj(500);

t.insert( { tst : "test1", a : nestedObj }, true );
t.insert( { tst : "test2", a : nestedObj }, true );
t.insert( { tst : "test3", a : nestedObj }, true );

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!")
}