diff options
Diffstat (limited to 'jstests/core/index_arr2.js')
-rw-r--r-- | jstests/core/index_arr2.js | 52 |
1 files changed, 24 insertions, 28 deletions
diff --git a/jstests/core/index_arr2.js b/jstests/core/index_arr2.js index 78c480719dc..952be73ff13 100644 --- a/jstests/core/index_arr2.js +++ b/jstests/core/index_arr2.js @@ -3,49 +3,45 @@ M = 5; t = db.jstests_arr2; -function test( withIndex ){ +function test(withIndex) { t.drop(); - + // insert a bunch of items to force queries to use the index. newObject = { - _id : 1, - a : [ - { b : { c : 1 } } - ] + _id: 1, + a: [{b: {c: 1}}] }; - + now = (new Date()).getTime() / 1000; - for (created = now - NUM; created <= now; created++ ) { + for (created = now - NUM; created <= now; created++) { newObject['created'] = created; t.insert(newObject); - newObject['_id'] ++; + newObject['_id']++; } - + // change the last M items. query = { - 'created' : { '$gte' : now - M } + 'created': {'$gte': now - M} }; - - Z = t.find( query ).count(); - - if ( withIndex ){ - //t.ensureIndex( { 'a.b.c' : 1, 'created' : -1 } ) - //t.ensureIndex( { created : -1 } ) - t.ensureIndex( { 'a.b.c' : 1 } , { name : "x" } ); + + Z = t.find(query).count(); + + if (withIndex) { + // t.ensureIndex( { 'a.b.c' : 1, 'created' : -1 } ) + // t.ensureIndex( { created : -1 } ) + t.ensureIndex({'a.b.c': 1}, {name: "x"}); } - - var res = t.update(query, { '$set' : { "a.0.b.c" : 0 } } , false , true ); - assert.eq( Z, res.nMatched, "num updated withIndex:" + withIndex ); - + + var res = t.update(query, {'$set': {"a.0.b.c": 0}}, false, true); + assert.eq(Z, res.nMatched, "num updated withIndex:" + withIndex); + // now see how many were actually updated. query['a.b.c'] = 0; - + count = t.count(query); - assert.eq( Z , count , "count after withIndex:" + withIndex ); + assert.eq(Z, count, "count after withIndex:" + withIndex); } -test( false ); -test( true ); - - +test(false); +test(true); |