diff options
author | Rishab Joshi <rishab.joshi@mongodb.com> | 2020-11-10 13:42:25 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-11-12 10:38:50 +0000 |
commit | e69c967ff8b53634770438dfe9a5c7d13548351b (patch) | |
tree | cf8f6b10b2374f388d51213d172f28b4fd3d05e8 /jstests | |
parent | 916c466afac10d34e61b6ca42a12e35d7c4828f1 (diff) | |
download | mongo-e69c967ff8b53634770438dfe9a5c7d13548351b.tar.gz |
SERVER-50442 Remove ensureIndex shell function This commit also replaces all the usages of ensureIndex() with createIndex() in JS tests and JS shell
Diffstat (limited to 'jstests')
527 files changed, 1149 insertions, 1197 deletions
diff --git a/jstests/aggregation/bugs/server12015.js b/jstests/aggregation/bugs/server12015.js index 2027b6d9ff5..bae114f2417 100644 --- a/jstests/aggregation/bugs/server12015.js +++ b/jstests/aggregation/bugs/server12015.js @@ -36,7 +36,7 @@ function assertResultsMatch(pipeline, ignoreSortOrder) { pipeline = [{$match: {a: {$gte: 0}}}].concat(pipeline); // Once with an index. - assert.commandWorked(coll.ensureIndex(indexSpec)); + assert.commandWorked(coll.createIndex(indexSpec)); var resultsWithIndex = coll.aggregate(pipeline).toArray(); // Again without an index. diff --git a/jstests/aggregation/bugs/server13715.js b/jstests/aggregation/bugs/server13715.js index 27482cc1c46..f099480f935 100644 --- a/jstests/aggregation/bugs/server13715.js +++ b/jstests/aggregation/bugs/server13715.js @@ -12,7 +12,7 @@ assert.eq(1, cursor.next()["_id"]); assert.eq(0, cursor.next()["_id"]); // Repeat the test with an index. -t.ensureIndex({name: 1}); +t.createIndex({name: 1}); cursor = t.aggregate([{$match: {$or: [{name: "red"}, {name: "blue"}]}}, {$sort: {value: 1}}]); assert.eq(1, cursor.next()["_id"]); diff --git a/jstests/aggregation/bugs/server14969.js b/jstests/aggregation/bugs/server14969.js index 0da44f18c6d..15fd423f44a 100644 --- a/jstests/aggregation/bugs/server14969.js +++ b/jstests/aggregation/bugs/server14969.js @@ -11,7 +11,7 @@ var longString = new Array(1024 * 1024).join('x'); for (var i = 0; i < 100; ++i) { assert.commandWorked(coll.insert({a: 1, bigField: longString})); } -assert.commandWorked(coll.ensureIndex({a: 1})); +assert.commandWorked(coll.createIndex({a: 1})); // Create pipeline that uses index "a", with a small initial batch size. var cursor = coll.aggregate([{$match: {a: 1}}], {cursor: {batchSize: docsPerBatch}}); diff --git a/jstests/aggregation/bugs/server22093.js b/jstests/aggregation/bugs/server22093.js index e3a3268c048..b63cfd7aabb 100644 --- a/jstests/aggregation/bugs/server22093.js +++ b/jstests/aggregation/bugs/server22093.js @@ -26,7 +26,7 @@ for (var i = 0; i < 3; i++) { } } -coll.ensureIndex({foo: 1}); +coll.createIndex({foo: 1}); var simpleGroup = coll.aggregate([{$group: {_id: null, count: {$sum: 1}}}]).toArray(); diff --git a/jstests/aggregation/bugs/server3253.js b/jstests/aggregation/bugs/server3253.js index ac7ed42eed0..e3c9b4847c1 100644 --- a/jstests/aggregation/bugs/server3253.js +++ b/jstests/aggregation/bugs/server3253.js @@ -66,7 +66,7 @@ test(input, // test with indexes assert.eq(output.getIndexes().length, 1); -output.ensureIndex({a: 1}); +output.createIndex({a: 1}); assert.eq(output.getIndexes().length, 2); test(input, [{$project: {a: {$multiply: ['$_id', '$_id']}}}], @@ -77,12 +77,12 @@ test(input, [{$match: {_id: 11}}], []); assert.eq(output.getIndexes().length, 2); // test with geo index -output.ensureIndex({b: "2d"}); +output.createIndex({b: "2d"}); assert.eq(output.getIndexes().length, 3); test(input, [{$project: {b: "$_id"}}], [{_id: 1, b: 1}, {_id: 2, b: 2}, {_id: 3, b: 3}]); // test with full text index -output.ensureIndex({c: "text"}); +output.createIndex({c: "text"}); assert.eq(output.getIndexes().length, 4); test(input, [{$project: {c: {$concat: ["hello there ", "_id"]}}}], [ {_id: 1, c: "hello there _id"}, diff --git a/jstests/aggregation/bugs/server3832.js b/jstests/aggregation/bugs/server3832.js index b2c59ccd244..82b38ab3604 100644 --- a/jstests/aggregation/bugs/server3832.js +++ b/jstests/aggregation/bugs/server3832.js @@ -25,7 +25,7 @@ var a3 = s3832.aggregate({$match: {b: "baz"}}, {$sort: {a: 1}}); assert.eq(a3.toArray(), a1result, 's3832.a3 failed'); -db.s3832.ensureIndex({b: 1}, {name: "s3832_b"}); +db.s3832.createIndex({b: 1}, {name: "s3832_b"}); var a4 = s3832.aggregate({$match: {b: "baz"}}); @@ -41,7 +41,7 @@ assert.eq(a6.toArray(), a1result, 's3832.a6 failed'); var dropb = db.s3832.dropIndex("s3832_b"); -db.s3832.ensureIndex({a: 1}, {name: "s3832_a"}); +db.s3832.createIndex({a: 1}, {name: "s3832_a"}); var a7 = s3832.aggregate({$match: {b: "baz"}}); diff --git a/jstests/aggregation/bugs/server6531.js b/jstests/aggregation/bugs/server6531.js index cd2faae0eb7..46f09a0f379 100644 --- a/jstests/aggregation/bugs/server6531.js +++ b/jstests/aggregation/bugs/server6531.js @@ -23,9 +23,9 @@ function test(variant) { test("no index"); -c.ensureIndex({loc: "2d"}); +c.createIndex({loc: "2d"}); test("2d index"); c.dropIndex({loc: "2d"}); -c.ensureIndex({loc: "2dsphere"}); +c.createIndex({loc: "2dsphere"}); test("2dsphere index"); diff --git a/jstests/aggregation/bugs/server7781.js b/jstests/aggregation/bugs/server7781.js index 586099df79f..77f8bbc6866 100644 --- a/jstests/aggregation/bugs/server7781.js +++ b/jstests/aggregation/bugs/server7781.js @@ -67,7 +67,7 @@ function test(db, indexType) { assert.eq(db[coll].count(), numPts); - db[coll].ensureIndex({loc: indexType}); + db[coll].createIndex({loc: indexType}); // Test $geoNear with spherical coordinates. testGeoNearStageOutput({ diff --git a/jstests/aggregation/bugs/sort_arrays.js b/jstests/aggregation/bugs/sort_arrays.js index a82837dfb70..488b0300381 100644 --- a/jstests/aggregation/bugs/sort_arrays.js +++ b/jstests/aggregation/bugs/sort_arrays.js @@ -11,7 +11,7 @@ const expectedOrder = [{_id: 4, a: [2, 1]}, {_id: 2, a: [2, 3]}, {_id: 3, a: [2, assert.eq(coll.aggregate([{$sort: {a: 1, _id: 1}}]).toArray(), expectedOrder); assert.eq(coll.find().sort({a: 1, _id: 1}).toArray(), expectedOrder); -assert.commandWorked(coll.ensureIndex({a: 1})); +assert.commandWorked(coll.createIndex({a: 1})); assert.eq(coll.aggregate([{$sort: {a: 1, _id: 1}}]).toArray(), expectedOrder); assert.eq(coll.find().sort({a: 1, _id: 1}).toArray(), expectedOrder); }()); diff --git a/jstests/auth/basic_role_auth.js b/jstests/auth/basic_role_auth.js index ff487bebbd9..b86f61dba9d 100644 --- a/jstests/auth/basic_role_auth.js +++ b/jstests/auth/basic_role_auth.js @@ -129,7 +129,7 @@ var testOps = function(db, allowedActions) { }); checkErr(allowedActions.hasOwnProperty('index_w'), function() { - var res = db.user.ensureIndex({x: 1}); + var res = db.user.createIndex({x: 1}); if (res.code == 13) { // Unauthorized throw Error("unauthorized currentOp"); } diff --git a/jstests/auth/lib/commands_lib.js b/jstests/auth/lib/commands_lib.js index 80a1a6d99a6..8015d8dc143 100644 --- a/jstests/auth/lib/commands_lib.js +++ b/jstests/auth/lib/commands_lib.js @@ -3481,7 +3481,7 @@ var authCommandsLib = { setup: function(db) { db.fs.chunks.drop(); assert.writeOK(db.fs.chunks.insert({files_id: 1, n: 0, data: new BinData(0, "test")})); - assert.commandWorked(db.fs.chunks.ensureIndex({files_id: 1, n: 1})); + assert.commandWorked(db.fs.chunks.createIndex({files_id: 1, n: 1})); }, teardown: function(db) { db.fs.chunks.drop(); diff --git a/jstests/auth/readIndex.js b/jstests/auth/readIndex.js index 27fd03a637f..53c5d63ecba 100644 --- a/jstests/auth/readIndex.js +++ b/jstests/auth/readIndex.js @@ -12,7 +12,7 @@ testDB.createUser({user: 'dbAdmin', pwd: 'password', roles: ['dbAdmin']}); adminDB.logout(); testDB.auth('dbAdmin', 'password'); -testDB.foo.ensureIndex({a: 1}, {name: indexName}); +testDB.foo.createIndex({a: 1}, {name: indexName}); assert.eq(2, testDB.foo.getIndexes().length); // index on 'a' plus default _id index var indexList = testDB.foo.getIndexes().filter(function(idx) { return idx.name === indexName; diff --git a/jstests/concurrency/fsm_example_inheritance.js b/jstests/concurrency/fsm_example_inheritance.js index 8c45525d7e3..dd6364b2d87 100644 --- a/jstests/concurrency/fsm_example_inheritance.js +++ b/jstests/concurrency/fsm_example_inheritance.js @@ -16,7 +16,7 @@ var $config = extendWorkload($config, function($config, $super) { // method on $super. $super.setup.apply(this, arguments); - db[collName].ensureIndex({exampleIndexedField: 1}); + db[collName].createIndex({exampleIndexedField: 1}); }; return $config; diff --git a/jstests/concurrency/fsm_workloads/agg_out.js b/jstests/concurrency/fsm_workloads/agg_out.js index 200ee7917fd..6c1d720558f 100644 --- a/jstests/concurrency/fsm_workloads/agg_out.js +++ b/jstests/concurrency/fsm_workloads/agg_out.js @@ -38,7 +38,7 @@ var $config = extendWorkload($config, function($config, $super) { $config.transitions = { query: { query: 0.68, - ensureIndexes: 0.1, + createIndexes: 0.1, dropIndex: 0.1, collMod: 0.1, // Converting the target collection to a capped collection or a sharded collection will @@ -47,7 +47,7 @@ var $config = extendWorkload($config, function($config, $super) { convertToCapped: 0.01, shardCollection: 0.01, }, - ensureIndexes: {query: 1}, + createIndexes: {query: 1}, dropIndex: {query: 1}, collMod: {query: 1}, convertToCapped: {query: 1}, @@ -85,9 +85,9 @@ var $config = extendWorkload($config, function($config, $super) { * Ensures all the indexes exist. This will have no affect unless some thread has already * dropped an index. */ - $config.states.ensureIndexes = function ensureIndexes(db, unusedCollName) { + $config.states.createIndexes = function createIndexes(db, unusedCollName) { for (var i = 0; i < this.indexSpecs; ++i) { - assertWhenOwnDB.commandWorked(db[this.outputCollName].ensureIndex(this.indexSpecs[i])); + assertWhenOwnDB.commandWorked(db[this.outputCollName].createIndex(this.indexSpecs[i])); } }; diff --git a/jstests/concurrency/fsm_workloads/collmod.js b/jstests/concurrency/fsm_workloads/collmod.js index 095602b43af..fdb93bfc65a 100644 --- a/jstests/concurrency/fsm_workloads/collmod.js +++ b/jstests/concurrency/fsm_workloads/collmod.js @@ -48,7 +48,7 @@ var $config = (function() { assertAlways.eq(this.numDocs, res.nInserted); // create TTL index - res = db[this.threadCollName].ensureIndex({createdAt: 1}, {expireAfterSeconds: 3600}); + res = db[this.threadCollName].createIndex({createdAt: 1}, {expireAfterSeconds: 3600}); assertAlways.commandWorked(res); } diff --git a/jstests/concurrency/fsm_workloads/compact.js b/jstests/concurrency/fsm_workloads/compact.js index cae5571f733..558cd5b5fd4 100644 --- a/jstests/concurrency/fsm_workloads/compact.js +++ b/jstests/concurrency/fsm_workloads/compact.js @@ -37,15 +37,15 @@ var $config = (function() { function createIndexes(db, collName) { // The number of indexes created here is also stored in data.nIndexes - var aResult = db[collName].ensureIndex({a: 1}); + var aResult = db[collName].createIndex({a: 1}); assertWorkedHandleTxnErrors(aResult, ErrorCodes.IndexBuildAlreadyInProgress); - var bResult = db[collName].ensureIndex({b: 1}); + var bResult = db[collName].createIndex({b: 1}); assertWorkedHandleTxnErrors(bResult, ErrorCodes.IndexBuildAlreadyInProgress); - var cResult = db[collName].ensureIndex({c: 1}); + var cResult = db[collName].createIndex({c: 1}); assertWorkedHandleTxnErrors(cResult, ErrorCodes.IndexBuildAlreadyInProgress); } diff --git a/jstests/concurrency/fsm_workloads/convert_to_capped_collection_index.js b/jstests/concurrency/fsm_workloads/convert_to_capped_collection_index.js index 70c2fbc3b4c..be4414f642d 100644 --- a/jstests/concurrency/fsm_workloads/convert_to_capped_collection_index.js +++ b/jstests/concurrency/fsm_workloads/convert_to_capped_collection_index.js @@ -20,7 +20,7 @@ load('jstests/concurrency/fsm_workloads/convert_to_capped_collection.js'); // f var $config = extendWorkload($config, function($config, $super) { $config.states.convertToCapped = function convertToCapped(db, collName) { - assertWhenOwnDB.commandWorked(db[this.threadCollName].ensureIndex({i: 1, rand: 1})); + assertWhenOwnDB.commandWorked(db[this.threadCollName].createIndex({i: 1, rand: 1})); assertWhenOwnDB.eq(2, db[this.threadCollName].getIndexes().length); $super.states.convertToCapped.apply(this, arguments); }; diff --git a/jstests/concurrency/fsm_workloads/count_indexed.js b/jstests/concurrency/fsm_workloads/count_indexed.js index b8041d5f91a..9887d1a113e 100644 --- a/jstests/concurrency/fsm_workloads/count_indexed.js +++ b/jstests/concurrency/fsm_workloads/count_indexed.js @@ -25,7 +25,7 @@ var $config = extendWorkload($config, function($config, $super) { $config.states.init = function init(db, collName) { this.threadCollName = this.prefix + '_' + this.tid; $super.states.init.apply(this, arguments); - assertAlways.commandWorked(db[this.threadCollName].ensureIndex({tid: 1, i: 1})); + assertAlways.commandWorked(db[this.threadCollName].createIndex({tid: 1, i: 1})); }; return $config; diff --git a/jstests/concurrency/fsm_workloads/create_index_background.js b/jstests/concurrency/fsm_workloads/create_index_background.js index e183a33e36d..2a55b307086 100644 --- a/jstests/concurrency/fsm_workloads/create_index_background.js +++ b/jstests/concurrency/fsm_workloads/create_index_background.js @@ -202,7 +202,7 @@ var $config = (function() { var nSetupDocs = this.nDocumentsToSeed * 200; var coll = db[collName]; - var res = coll.ensureIndex({tid: 1}); + var res = coll.createIndex({tid: 1}); assertAlways.commandWorked(res, tojson(res)); var bulk = coll.initializeUnorderedBulkOp(); diff --git a/jstests/concurrency/fsm_workloads/distinct.js b/jstests/concurrency/fsm_workloads/distinct.js index 2832ea215d3..2c56372c7d7 100644 --- a/jstests/concurrency/fsm_workloads/distinct.js +++ b/jstests/concurrency/fsm_workloads/distinct.js @@ -21,7 +21,7 @@ var $config = (function() { var res = bulk.execute(); assertAlways.commandWorked(res); assertAlways.eq(this.numDocs, res.nInserted); - assertAlways.commandWorked(db[this.threadCollName].ensureIndex({i: 1})); + assertAlways.commandWorked(db[this.threadCollName].createIndex({i: 1})); } function distinct(db, collName) { diff --git a/jstests/concurrency/fsm_workloads/explain.js b/jstests/concurrency/fsm_workloads/explain.js index b4943a23300..ca20aa4b8c9 100644 --- a/jstests/concurrency/fsm_workloads/explain.js +++ b/jstests/concurrency/fsm_workloads/explain.js @@ -26,7 +26,7 @@ var $config = (function() { }; function setup(db, collName, cluster) { - assertAlways.commandWorked(db[collName].ensureIndex({j: 1})); + assertAlways.commandWorked(db[collName].createIndex({j: 1})); } var states = (function() { diff --git a/jstests/concurrency/fsm_workloads/findAndModify_remove_queue.js b/jstests/concurrency/fsm_workloads/findAndModify_remove_queue.js index 6c49a7cc249..e902ceb1959 100644 --- a/jstests/concurrency/fsm_workloads/findAndModify_remove_queue.js +++ b/jstests/concurrency/fsm_workloads/findAndModify_remove_queue.js @@ -97,8 +97,8 @@ var $config = (function() { assertAlways.commandWorked(res); assertAlways.eq(this.numDocs, res.nInserted); - this.getIndexSpecs().forEach(function ensureIndex(indexSpec) { - assertAlways.commandWorked(db[collName].ensureIndex(indexSpec)); + this.getIndexSpecs().forEach(function createIndex(indexSpec) { + assertAlways.commandWorked(db[collName].createIndex(indexSpec)); }); } diff --git a/jstests/concurrency/fsm_workloads/findAndModify_update.js b/jstests/concurrency/fsm_workloads/findAndModify_update.js index 9035e6f472f..e97281b5a8a 100644 --- a/jstests/concurrency/fsm_workloads/findAndModify_update.js +++ b/jstests/concurrency/fsm_workloads/findAndModify_update.js @@ -83,7 +83,7 @@ var $config = (function() { }; function setup(db, collName, cluster) { - var res = db[collName].ensureIndex({tid: 1, value: 1}); + var res = db[collName].createIndex({tid: 1, value: 1}); assertAlways.commandWorked(res); } diff --git a/jstests/concurrency/fsm_workloads/indexed_insert_text.js b/jstests/concurrency/fsm_workloads/indexed_insert_text.js index beea5501dd7..cb467a03a4a 100644 --- a/jstests/concurrency/fsm_workloads/indexed_insert_text.js +++ b/jstests/concurrency/fsm_workloads/indexed_insert_text.js @@ -37,7 +37,7 @@ var $config = (function() { var ixSpec = {}; ixSpec[this.indexedField] = 'text'; // Only allowed to create one text index, other tests may create one. - assertWhenOwnColl.commandWorked(db[collName].ensureIndex(ixSpec)); + assertWhenOwnColl.commandWorked(db[collName].createIndex(ixSpec)); } var text = [ diff --git a/jstests/concurrency/fsm_workloads/indexed_insert_ttl.js b/jstests/concurrency/fsm_workloads/indexed_insert_ttl.js index 5a54c673cac..b0d999076e7 100644 --- a/jstests/concurrency/fsm_workloads/indexed_insert_ttl.js +++ b/jstests/concurrency/fsm_workloads/indexed_insert_ttl.js @@ -27,7 +27,7 @@ var $config = (function() { var transitions = {init: {insert: 1}, insert: {insert: 1}}; function setup(db, collName, cluster) { - var res = db[collName].ensureIndex({indexed_insert_ttl: 1}, + var res = db[collName].createIndex({indexed_insert_ttl: 1}, {expireAfterSeconds: this.ttlSeconds}); assertAlways.commandWorked(res); } diff --git a/jstests/concurrency/fsm_workloads/indexed_insert_where.js b/jstests/concurrency/fsm_workloads/indexed_insert_where.js index 5233c6c3e48..4cd751c1e1c 100644 --- a/jstests/concurrency/fsm_workloads/indexed_insert_where.js +++ b/jstests/concurrency/fsm_workloads/indexed_insert_where.js @@ -42,7 +42,7 @@ var $config = (function() { var transitions = {insert: {insert: 0.2, query: 0.8}, query: {insert: 0.8, query: 0.2}}; var setup = function setup(db, collName, cluster) { - assertAlways.commandWorked(db[collName].ensureIndex({tid: 1})); + assertAlways.commandWorked(db[collName].createIndex({tid: 1})); }; return { diff --git a/jstests/concurrency/fsm_workloads/list_indexes.js b/jstests/concurrency/fsm_workloads/list_indexes.js index ba5549e1e68..687f871a378 100644 --- a/jstests/concurrency/fsm_workloads/list_indexes.js +++ b/jstests/concurrency/fsm_workloads/list_indexes.js @@ -15,7 +15,7 @@ var $config = (function() { assertWhenOwnColl.commandWorked(db[collName].dropIndex(spec)); sleep(100); - assertWhenOwnColl.commandWorked(db[collName].ensureIndex(spec)); + assertWhenOwnColl.commandWorked(db[collName].createIndex(spec)); } // List indexes, using a batchSize of 2 to ensure getmores happen. @@ -38,7 +38,7 @@ var $config = (function() { for (var i = 0; i < this.threadCount; ++i) { var spec = {}; spec['foo' + i] = 1; - assertAlways.commandWorked(db[collName].ensureIndex(spec)); + assertAlways.commandWorked(db[collName].createIndex(spec)); } } diff --git a/jstests/concurrency/fsm_workloads/update_array.js b/jstests/concurrency/fsm_workloads/update_array.js index 457392279fd..99e31e735a3 100644 --- a/jstests/concurrency/fsm_workloads/update_array.js +++ b/jstests/concurrency/fsm_workloads/update_array.js @@ -109,7 +109,7 @@ var $config = (function() { function setup(db, collName, cluster) { // index on 'arr', the field being updated - assertAlways.commandWorked(db[collName].ensureIndex({arr: 1})); + assertAlways.commandWorked(db[collName].createIndex({arr: 1})); for (var i = 0; i < this.numDocs; ++i) { var res = db[collName].insert({_id: i, arr: []}); assertWhenOwnColl.commandWorked(res); diff --git a/jstests/concurrency/fsm_workloads/update_check_index.js b/jstests/concurrency/fsm_workloads/update_check_index.js index 8cfa98f6c84..71b8d32dfae 100644 --- a/jstests/concurrency/fsm_workloads/update_check_index.js +++ b/jstests/concurrency/fsm_workloads/update_check_index.js @@ -20,9 +20,9 @@ var $config = (function() { var transitions = {multiUpdate: {multiUpdate: 1.0}}; function setup(db, collName, cluster) { - assertAlways.commandWorked(db[collName].ensureIndex({a: 1})); - assertAlways.commandWorked(db[collName].ensureIndex({b: 1})); - assertAlways.commandWorked(db[collName].ensureIndex({c: 1})); + assertAlways.commandWorked(db[collName].createIndex({a: 1})); + assertAlways.commandWorked(db[collName].createIndex({b: 1})); + assertAlways.commandWorked(db[collName].createIndex({c: 1})); for (var i = 0; i < 10; i++) { assertAlways.commandWorked(db[collName].insert({a: 1, b: 1, c: 1})); diff --git a/jstests/concurrency/fsm_workloads/update_multifield.js b/jstests/concurrency/fsm_workloads/update_multifield.js index 25be0291c5a..311039d3877 100644 --- a/jstests/concurrency/fsm_workloads/update_multifield.js +++ b/jstests/concurrency/fsm_workloads/update_multifield.js @@ -52,10 +52,10 @@ var $config = (function() { var transitions = {update: {update: 1}}; function setup(db, collName, cluster) { - assertAlways.commandWorked(db[collName].ensureIndex({x: 1})); - assertAlways.commandWorked(db[collName].ensureIndex({y: 1})); - assertAlways.commandWorked(db[collName].ensureIndex({z: 1})); - assertAlways.commandWorked(db[collName].ensureIndex({x: 1, y: 1, z: 1})); + assertAlways.commandWorked(db[collName].createIndex({x: 1})); + assertAlways.commandWorked(db[collName].createIndex({y: 1})); + assertAlways.commandWorked(db[collName].createIndex({z: 1})); + assertAlways.commandWorked(db[collName].createIndex({x: 1, y: 1, z: 1})); // numDocs should be much less than threadCount, to make more threads use the same docs. this.numDocs = Math.floor(this.threadCount / 3); diff --git a/jstests/concurrency/fsm_workloads/update_rename.js b/jstests/concurrency/fsm_workloads/update_rename.js index c542382fc89..f76bbd5b81b 100644 --- a/jstests/concurrency/fsm_workloads/update_rename.js +++ b/jstests/concurrency/fsm_workloads/update_rename.js @@ -43,7 +43,7 @@ var $config = (function() { fieldNames.slice(1).forEach(function(fieldName) { var indexSpec = {}; indexSpec[fieldName] = 1; - assertAlways.commandWorked(db[collName].ensureIndex(indexSpec)); + assertAlways.commandWorked(db[collName].createIndex(indexSpec)); }); // numDocs should be much less than threadCount, to make more threads use the same docs. diff --git a/jstests/concurrency/fsm_workloads/update_replace.js b/jstests/concurrency/fsm_workloads/update_replace.js index c52c12f05a9..1d789b8eccc 100644 --- a/jstests/concurrency/fsm_workloads/update_replace.js +++ b/jstests/concurrency/fsm_workloads/update_replace.js @@ -57,12 +57,12 @@ var $config = (function() { var transitions = {update: {update: 1}}; function setup(db, collName, cluster) { - assertAlways.commandWorked(db[collName].ensureIndex({a: 1})); - assertAlways.commandWorked(db[collName].ensureIndex({b: 1})); + assertAlways.commandWorked(db[collName].createIndex({a: 1})); + assertAlways.commandWorked(db[collName].createIndex({b: 1})); // no index on c - assertAlways.commandWorked(db[collName].ensureIndex({x: 1})); - assertAlways.commandWorked(db[collName].ensureIndex({y: 1})); + assertAlways.commandWorked(db[collName].createIndex({x: 1})); + assertAlways.commandWorked(db[collName].createIndex({y: 1})); // no index on z // numDocs should be much less than threadCount, to make more threads use the same docs. diff --git a/jstests/concurrency/fsm_workloads/update_simple.js b/jstests/concurrency/fsm_workloads/update_simple.js index 2d6754ec93a..519d807b855 100644 --- a/jstests/concurrency/fsm_workloads/update_simple.js +++ b/jstests/concurrency/fsm_workloads/update_simple.js @@ -27,7 +27,7 @@ var $config = (function() { function setup(db, collName, cluster) { // index on 'value', the field being updated - assertAlways.commandWorked(db[collName].ensureIndex({value: 1})); + assertAlways.commandWorked(db[collName].createIndex({value: 1})); // numDocs should be much less than threadCount, to make more threads use the same docs. this.numDocs = Math.floor(this.threadCount / 5); diff --git a/jstests/concurrency/fsm_workloads/update_upsert_multi.js b/jstests/concurrency/fsm_workloads/update_upsert_multi.js index bffcbc232fa..34d81924bb6 100644 --- a/jstests/concurrency/fsm_workloads/update_upsert_multi.js +++ b/jstests/concurrency/fsm_workloads/update_upsert_multi.js @@ -66,7 +66,7 @@ var $config = (function() { }; function setup(db, collName, cluster) { - assertAlways.commandWorked(db[collName].ensureIndex({tid: 1, i: 1})); + assertAlways.commandWorked(db[collName].createIndex({tid: 1, i: 1})); } return { diff --git a/jstests/concurrency/fsm_workloads/yield_geo_near.js b/jstests/concurrency/fsm_workloads/yield_geo_near.js index e6509bb7503..f3016c5332e 100644 --- a/jstests/concurrency/fsm_workloads/yield_geo_near.js +++ b/jstests/concurrency/fsm_workloads/yield_geo_near.js @@ -74,7 +74,7 @@ var $config = extendWorkload($config, function($config, $super) { } } assertAlways.commandWorked(bulk.execute()); - assertAlways.commandWorked(db[collName].ensureIndex(this.getIndexSpec())); + assertAlways.commandWorked(db[collName].createIndex(this.getIndexSpec())); }; return $config; diff --git a/jstests/concurrency/fsm_workloads/yield_rooted_or.js b/jstests/concurrency/fsm_workloads/yield_rooted_or.js index b21e918e5bc..7b5cd4b3cdd 100644 --- a/jstests/concurrency/fsm_workloads/yield_rooted_or.js +++ b/jstests/concurrency/fsm_workloads/yield_rooted_or.js @@ -37,8 +37,8 @@ var $config = extendWorkload($config, function($config, $super) { $config.setup = function setup(db, collName, cluster) { $super.setup.apply(this, arguments); - assertAlways.commandWorked(db[collName].ensureIndex({c: 1})); - assertAlways.commandWorked(db[collName].ensureIndex({d: 1})); + assertAlways.commandWorked(db[collName].createIndex({c: 1})); + assertAlways.commandWorked(db[collName].createIndex({d: 1})); }; return $config; diff --git a/jstests/concurrency/fsm_workloads/yield_sort_merge.js b/jstests/concurrency/fsm_workloads/yield_sort_merge.js index b66f185854d..2962744a482 100644 --- a/jstests/concurrency/fsm_workloads/yield_sort_merge.js +++ b/jstests/concurrency/fsm_workloads/yield_sort_merge.js @@ -45,7 +45,7 @@ var $config = extendWorkload($config, function($config, $super) { $config.setup = function setup(db, collName, cluster) { $super.setup.apply(this, arguments); - assertAlways.commandWorked(db[collName].ensureIndex({a: 1, b: 1})); + assertAlways.commandWorked(db[collName].createIndex({a: 1, b: 1})); }; return $config; diff --git a/jstests/concurrency/fsm_workloads/yield_text.js b/jstests/concurrency/fsm_workloads/yield_text.js index 2b14a051b73..2bd4a5608ff 100644 --- a/jstests/concurrency/fsm_workloads/yield_text.js +++ b/jstests/concurrency/fsm_workloads/yield_text.js @@ -42,7 +42,7 @@ var $config = extendWorkload($config, function($config, $super) { $config.setup = function setup(db, collName, cluster) { $super.setup.apply(this, arguments); - assertWhenOwnColl.commandWorked(db[collName].ensureIndex({yield_text: 'text'})); + assertWhenOwnColl.commandWorked(db[collName].createIndex({yield_text: 'text'})); }; return $config; diff --git a/jstests/core/all.js b/jstests/core/all.js index 9d142e6e6c4..a718e2615e8 100644 --- a/jstests/core/all.js +++ b/jstests/core/all.js @@ -39,5 +39,5 @@ doTest = function() { doTest(); t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); doTest(); diff --git a/jstests/core/all2.js b/jstests/core/all2.js index c6b4170a7ff..44462787d20 100644 --- a/jstests/core/all2.js +++ b/jstests/core/all2.js @@ -29,7 +29,7 @@ check(1, {"a.x": {$all: [1, 2]}}, "F"); check(1, {"a.x": {$all: [2, 3]}}, "G"); check(0, {"a.x": {$all: [1, 3]}}, "H"); -t.ensureIndex({"a.x": 1}); +t.createIndex({"a.x": 1}); state = "index"; check(1, {"a.x": {$in: [1]}}, "A"); @@ -64,7 +64,7 @@ check(1, {"a": {$all: [1, 2]}}, "F"); check(1, {"a": {$all: [2, 3]}}, "G"); check(0, {"a": {$all: [1, 3]}}, "H"); -t.ensureIndex({"a": 1}); +t.createIndex({"a": 1}); state = "more index"; check(1, {"a": {$in: [1]}}, "A"); @@ -85,5 +85,5 @@ state = "more 2"; t.drop(); t.save({name: ["harry", "jack", "tom"]}); check(0, {name: {$all: ["harry", "john"]}}, "A"); -t.ensureIndex({name: 1}); +t.createIndex({name: 1}); check(0, {name: {$all: ["harry", "john"]}}, "B"); diff --git a/jstests/core/and.js b/jstests/core/and.js index 389aaa8d1d1..20fd583c31f 100644 --- a/jstests/core/and.js +++ b/jstests/core/and.js @@ -77,7 +77,7 @@ function check() { } check(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); check(); assert.eq(1, t.find({a: 1, $and: [{a: 2}]}).itcount()); diff --git a/jstests/core/and3.js b/jstests/core/and3.js index 6fd8e63d910..1e74db57594 100644 --- a/jstests/core/and3.js +++ b/jstests/core/and3.js @@ -12,7 +12,7 @@ t.drop(); t.save({a: 1}); t.save({a: 'foo'}); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); function checkScanMatch(query, docsExamined, n) { var e = t.find(query).hint({a: 1}).explain("executionStats"); diff --git a/jstests/core/andor.js b/jstests/core/andor.js index e5e665ec398..5bac12d83ca 100644 --- a/jstests/core/andor.js +++ b/jstests/core/andor.js @@ -47,7 +47,7 @@ test = function() { }; test(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); test(); // Test an inequality base match. @@ -91,5 +91,5 @@ test = function() { t.drop(); t.save({a: 1}); test(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); test(); diff --git a/jstests/core/apitest_dbcollection.js b/jstests/core/apitest_dbcollection.js index 9bdbb8d0f91..00f9b6b4c4c 100644 --- a/jstests/core/apitest_dbcollection.js +++ b/jstests/core/apitest_dbcollection.js @@ -99,7 +99,7 @@ assert.eq(0, db.getCollection("test_db").getIndexes().length, "13"); db.getCollection("test_db").save({a: 10}); assert.eq(1, db.getCollection("test_db").getIndexes().length, "14"); -db.getCollection("test_db").ensureIndex({a: 1}); +db.getCollection("test_db").createIndex({a: 1}); db.getCollection("test_db").save({a: 10}); print(tojson(db.getCollection("test_db").getIndexes())); @@ -109,7 +109,7 @@ db.getCollection("test_db").dropIndex({a: 1}); assert.eq(1, db.getCollection("test_db").getIndexes().length, "16"); db.getCollection("test_db").save({a: 10}); -db.getCollection("test_db").ensureIndex({a: 1}); +db.getCollection("test_db").createIndex({a: 1}); db.getCollection("test_db").save({a: 10}); assert.eq(2, db.getCollection("test_db").getIndexes().length, "17"); @@ -118,8 +118,8 @@ db.getCollection("test_db").dropIndex("a_1"); assert.eq(1, db.getCollection("test_db").getIndexes().length, "18"); db.getCollection("test_db").save({a: 10, b: 11}); -db.getCollection("test_db").ensureIndex({a: 1}); -db.getCollection("test_db").ensureIndex({b: 1}); +db.getCollection("test_db").createIndex({a: 1}); +db.getCollection("test_db").createIndex({b: 1}); db.getCollection("test_db").save({a: 10, b: 12}); assert.eq(3, db.getCollection("test_db").getIndexes().length, "19"); @@ -130,8 +130,8 @@ db.getCollection("test_db").dropIndex({a: 1}); assert.eq(1, db.getCollection("test_db").getIndexes().length, "21"); db.getCollection("test_db").save({a: 10, b: 11}); -db.getCollection("test_db").ensureIndex({a: 1}); -db.getCollection("test_db").ensureIndex({b: 1}); +db.getCollection("test_db").createIndex({a: 1}); +db.getCollection("test_db").createIndex({b: 1}); db.getCollection("test_db").save({a: 10, b: 12}); assert.eq(3, db.getCollection("test_db").getIndexes().length, "22"); @@ -179,7 +179,7 @@ assert.eq(10, // indexDetails - If true, includes 'indexDetails' field in results. Default: false. t.drop(); t.save({a: 1}); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); collectionStats = assert.commandWorked(t.stats()); assert(!collectionStats.hasOwnProperty('indexDetails'), 'unexpected indexDetails found in db.collection.stats() result: ' + tojson(collectionStats)); diff --git a/jstests/core/array1.js b/jstests/core/array1.js index 27addaed616..d25b609f3d3 100644 --- a/jstests/core/array1.js +++ b/jstests/core/array1.js @@ -14,6 +14,6 @@ assert.eq(1, coll.find(x).count()); assert.commandWorked(coll.insert(x)); assert.eq(2, coll.find(x).count()); -assert.commandWorked(coll.ensureIndex({a: 1})); +assert.commandWorked(coll.createIndex({a: 1})); assert.eq(2, coll.find(x).count()); }()); diff --git a/jstests/core/array_match1.js b/jstests/core/array_match1.js index b6a0930968e..0c56e8d4c34 100644 --- a/jstests/core/array_match1.js +++ b/jstests/core/array_match1.js @@ -16,7 +16,7 @@ function test(f, m) { } test("a", "A"); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); test("a", "B"); t.drop(); @@ -26,5 +26,5 @@ t.insert({_id: 2, a: {b: [6, 6]}}); t.insert({_id: 3, a: {b: [5, 5]}}); test("a.b", "C"); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); test("a.b", "D"); diff --git a/jstests/core/array_match3.js b/jstests/core/array_match3.js index 837341afc8a..4990bdd90fd 100644 --- a/jstests/core/array_match3.js +++ b/jstests/core/array_match3.js @@ -9,5 +9,5 @@ t.save({a: [5]}); assert.eq(2, t.count({'a.0': 5})); // Test with index. -t.ensureIndex({'a.0': 1}); +t.createIndex({'a.0': 1}); assert.eq(2, t.count({'a.0': 5})); diff --git a/jstests/core/array_match4.js b/jstests/core/array_match4.js index 821e9a4f4eb..54581a14b97 100644 --- a/jstests/core/array_match4.js +++ b/jstests/core/array_match4.js @@ -16,7 +16,7 @@ assert.eq(1, t.find(query_gte).itcount(), '$gte (without index)'); // with index // -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); assert.eq(1, t.find({a: [1, 2]}).count(), '$eq (with index)'); // display explain output (for index bounds) diff --git a/jstests/core/arrayfind1.js b/jstests/core/arrayfind1.js index c9d75c17f65..4e9330549ae 100644 --- a/jstests/core/arrayfind1.js +++ b/jstests/core/arrayfind1.js @@ -26,7 +26,7 @@ t.save({a: [{x: 4}]}); assert.eq(1, t.find({a: {$elemMatch: {x: 2}}}).count(), "B1"); assert.eq(2, t.find({a: {$elemMatch: {x: {$gt: 2}}}}).count(), "B2"); -t.ensureIndex({"a.x": 1}); +t.createIndex({"a.x": 1}); assert.eq(1, t.find({a: {$elemMatch: {x: 2}}}).count(), "D1"); assert.eq(3, t.find({"a.x": 1}).count(), "D2.1"); assert.eq(3, t.find({"a.x": {$gt: 1}}).count(), "D2.2"); diff --git a/jstests/core/arrayfind2.js b/jstests/core/arrayfind2.js index bbceffaa126..38de844f6f4 100644 --- a/jstests/core/arrayfind2.js +++ b/jstests/core/arrayfind2.js @@ -25,5 +25,5 @@ t.save({a: [{x: 3}, {x: 5}]}); t.save({a: [{x: 3}, {x: 6}]}); go("no index"); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); go("index(a)"); diff --git a/jstests/core/arrayfind3.js b/jstests/core/arrayfind3.js index 312ae4c0349..6dba0bf625f 100644 --- a/jstests/core/arrayfind3.js +++ b/jstests/core/arrayfind3.js @@ -8,7 +8,7 @@ t.save({a: [1, 4, 6]}); assert.eq(2, t.find({a: {$gte: 3, $lte: 5}}).itcount(), "A1"); assert.eq(1, t.find({a: {$elemMatch: {$gte: 3, $lte: 5}}}).itcount(), "A2"); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); assert.eq(2, t.find({a: {$gte: 3, $lte: 5}}).itcount(), "B1"); assert.eq(1, t.find({a: {$elemMatch: {$gte: 3, $lte: 5}}}).itcount(), "B2"); diff --git a/jstests/core/arrayfind4.js b/jstests/core/arrayfind4.js index 4fac0b63755..2d7c0e03668 100644 --- a/jstests/core/arrayfind4.js +++ b/jstests/core/arrayfind4.js @@ -8,7 +8,7 @@ t = db.jstests_arrayfind4; t.drop(); t.save({a: []}); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); assert.eq(1, t.find({a: []}).hint({$natural: 1}).itcount()); assert.eq(1, t.find({a: []}).hint({a: 1}).itcount()); diff --git a/jstests/core/arrayfind5.js b/jstests/core/arrayfind5.js index 9f8800a0c69..171fe49e1f8 100644 --- a/jstests/core/arrayfind5.js +++ b/jstests/core/arrayfind5.js @@ -16,12 +16,12 @@ function check(nullElemMatch) { t.save({a: [{}, {b: 1}]}); check(true); -t.ensureIndex({'a.b': 1}); +t.createIndex({'a.b': 1}); check(true); t.drop(); t.save({a: [5, {b: 1}]}); check(false); -t.ensureIndex({'a.b': 1}); +t.createIndex({'a.b': 1}); check(false); diff --git a/jstests/core/arrayfind6.js b/jstests/core/arrayfind6.js index f01271b6673..bd91859c9dc 100644 --- a/jstests/core/arrayfind6.js +++ b/jstests/core/arrayfind6.js @@ -17,5 +17,5 @@ function checkElemMatchMatches() { } checkElemMatchMatches(); -t.ensureIndex({'a.b': 1}); +t.createIndex({'a.b': 1}); checkElemMatchMatches(); diff --git a/jstests/core/arrayfind7.js b/jstests/core/arrayfind7.js index 699f8c9586d..be2061c5c0d 100644 --- a/jstests/core/arrayfind7.js +++ b/jstests/core/arrayfind7.js @@ -11,7 +11,7 @@ function checkElemMatchMatches() { // The document is matched using nested $elemMatch expressions, with and without an index. checkElemMatchMatches(); -t.ensureIndex({'a.b.c': 1}); +t.createIndex({'a.b.c': 1}); checkElemMatchMatches(); function checkElemMatch(index, document, query) { @@ -19,7 +19,7 @@ function checkElemMatch(index, document, query) { t.drop(); t.save(document); assert.eq(1, t.count(query)); - t.ensureIndex(index); + t.createIndex(index); assert.eq(1, t.count(query)); t.save({a: {b: {c: [10, 11]}}}); // Make the index multikey. assert.eq(1, t.count(query)); diff --git a/jstests/core/arrayfind9.js b/jstests/core/arrayfind9.js index 98396701dce..5406ae8c1d1 100644 --- a/jstests/core/arrayfind9.js +++ b/jstests/core/arrayfind9.js @@ -25,8 +25,8 @@ assert.eq(1, t.count({a: {$elemMatch: {'0': 'x'}}})); // Matching multiple values of a nested array. t.drop(); t.save({a: [{b: [0, 2]}]}); -t.ensureIndex({a: 1}); -t.ensureIndex({'a.b': 1}); +t.createIndex({a: 1}); +t.createIndex({'a.b': 1}); plans = [{$natural: 1}, {a: 1}, {'a.b': 1}]; for (i in plans) { p = plans[i]; diff --git a/jstests/core/arrayfinda.js b/jstests/core/arrayfinda.js index f2939d0c1ba..163af3d8d29 100644 --- a/jstests/core/arrayfinda.js +++ b/jstests/core/arrayfinda.js @@ -16,6 +16,6 @@ assertExpectedMatch(t.find({a: {$elemMatch: {b: {$gte: 1}}}})); assertExpectedMatch(t.find({a: {$elemMatch: {b: 1}}})); // $elemMatch is not used to perform key matching. SERVER-6001 -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); assertExpectedMatch(t.find({a: {$elemMatch: {b: {$gte: 1}}}}).hint({a: 1})); assertExpectedMatch(t.find({a: {$elemMatch: {b: 1}}}).hint({a: 1})); diff --git a/jstests/core/arrayfindb.js b/jstests/core/arrayfindb.js index c9456509487..7277f51c4f4 100644 --- a/jstests/core/arrayfindb.js +++ b/jstests/core/arrayfindb.js @@ -12,7 +12,7 @@ assert.eq(0, t.find({a: {$elemMatch: {b: {$gte: 2, $lt: 4}, c: 25}}}).itcount(), "Case #1: wrong number of results returned -- unindexed"); -t.ensureIndex({"a.b": 1, "a.c": 1}); +t.createIndex({"a.b": 1, "a.c": 1}); assert.eq(0, t.find({a: {$elemMatch: {b: {$gte: 2, $lt: 4}, c: 25}}}).itcount(), "Case #1: wrong number of results returned -- indexed"); @@ -26,8 +26,8 @@ assert.eq(2, t.find({a: {$elemMatch: {$or: [{b: 2}, {c: 2}]}}}).itcount(), "Case #2: wrong number of results returned -- unindexed"); -t.ensureIndex({"a.b": 1}); -t.ensureIndex({"a.c": 1}); +t.createIndex({"a.b": 1}); +t.createIndex({"a.c": 1}); assert.eq(2, t.find({a: {$elemMatch: {$or: [{b: 2}, {c: 2}]}}}).itcount(), "Case #2: wrong number of results returned -- indexed"); diff --git a/jstests/core/bad_index_plugin.js b/jstests/core/bad_index_plugin.js index 7ecfe76c198..c9cd549cc03 100644 --- a/jstests/core/bad_index_plugin.js +++ b/jstests/core/bad_index_plugin.js @@ -1,10 +1,10 @@ // SERVER-5826 ensure you can't build an index with a non-existent plugin t = db.bad_index_plugin; -assert.commandWorked(t.ensureIndex({good: 1})); +assert.commandWorked(t.createIndex({good: 1})); assert.eq(t.getIndexes().length, 2); // good + _id -var err = t.ensureIndex({bad: 'bad'}); +var err = t.createIndex({bad: 'bad'}); assert.commandFailed(err); assert(err.code >= 0); diff --git a/jstests/core/basic7.js b/jstests/core/basic7.js index bfe82ccda17..dc6f18cc95b 100644 --- a/jstests/core/basic7.js +++ b/jstests/core/basic7.js @@ -3,7 +3,7 @@ t = db.basic7; t.drop(); t.save({a: 1}); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); assert.eq(t.find().toArray()[0].a, 1); assert.eq(t.find().arrayAccess(0).a, 1); diff --git a/jstests/core/batch_size.js b/jstests/core/batch_size.js index 11ea9cd2380..c0afc382975 100644 --- a/jstests/core/batch_size.js +++ b/jstests/core/batch_size.js @@ -46,7 +46,7 @@ assert.eq(1, t.find().batchSize(-1).itcount()); assert.eq(2, t.find().batchSize(-2).itcount()); // Run the tests with the index twice in order to double check plan caching. -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); for (var i = 0; i < 2; i++) { runIndexedTests(); } @@ -54,8 +54,8 @@ for (var i = 0; i < 2; i++) { // The next tests make sure that we obey limit and batchSize properly when the sort could be // either indexed or unindexed. t.drop(); -t.ensureIndex({a: 1}); -t.ensureIndex({b: 1}); +t.createIndex({a: 1}); +t.createIndex({b: 1}); for (var i = 0; i < 100; i++) { t.save({_id: i, a: i, b: 1}); @@ -118,8 +118,8 @@ for (var i = 0; i < nDocs; i++) { } // Two indices needed in order to trigger plan ranking. Neither index provides the sort order. -t.ensureIndex({x: 1}); -t.ensureIndex({y: 1}); +t.createIndex({x: 1}); +t.createIndex({y: 1}); // We should only buffer 3 docs in memory. var cursor = t.find({x: 1, y: 1}).sort({z: -1}).limit(3); diff --git a/jstests/core/batch_write_command_insert.js b/jstests/core/batch_write_command_insert.js index cf1b0013ef7..664ff73958a 100644 --- a/jstests/core/batch_write_command_insert.js +++ b/jstests/core/batch_write_command_insert.js @@ -179,7 +179,7 @@ assert(resultNOK(result), tojson(result)); // // Should fail single insert due to duplicate key coll.drop(); -coll.ensureIndex({a: 1}, {unique: true}); +coll.createIndex({a: 1}, {unique: true}); coll.insert({a: 1}); request = { insert: coll.getName(), @@ -194,7 +194,7 @@ assert.eq(coll.count(), 1); // // Fail with duplicate key error on multiple document inserts, ordered false coll.drop(); -coll.ensureIndex({a: 1}, {unique: true}); +coll.createIndex({a: 1}, {unique: true}); request = { insert: coll.getName(), documents: [{a: 1}, {a: 1}, {a: 1}], @@ -220,7 +220,7 @@ assert.eq(coll.count(), 1); // // Fail with duplicate key error on multiple document inserts, ordered true coll.drop(); -coll.ensureIndex({a: 1}, {unique: true}); +coll.createIndex({a: 1}, {unique: true}); request = { insert: coll.getName(), documents: [{a: 1}, {a: 1}, {a: 1}], @@ -241,7 +241,7 @@ assert.eq(coll.count(), 1); // // Ensure _id is the first field in all documents coll.drop(); -coll.ensureIndex({a: 1}, {unique: true}); +coll.createIndex({a: 1}, {unique: true}); request = { insert: coll.getName(), documents: [{a: 1}, {a: 2, _id: 2}] diff --git a/jstests/core/batch_write_command_update.js b/jstests/core/batch_write_command_update.js index edb90be8523..f6372a651af 100644 --- a/jstests/core/batch_write_command_update.js +++ b/jstests/core/batch_write_command_update.js @@ -235,7 +235,7 @@ assert.eq(1, coll.count()); // // Upsert fail due to duplicate key index, w:1, ordered:true coll.drop(); -coll.ensureIndex({a: 1}, {unique: true}); +coll.createIndex({a: 1}, {unique: true}); request = { update: coll.getName(), updates: [ @@ -266,7 +266,7 @@ assert.eq(1, coll.count({_id: result.upserted[1]._id})); // // Upsert fail due to duplicate key index, w:1, ordered:false coll.drop(); -coll.ensureIndex({a: 1}, {unique: true}); +coll.createIndex({a: 1}, {unique: true}); request = { update: coll.getName(), updates: [ diff --git a/jstests/core/batch_write_command_w0.js b/jstests/core/batch_write_command_w0.js index 01b9cb5f165..ca2522bbe01 100644 --- a/jstests/core/batch_write_command_w0.js +++ b/jstests/core/batch_write_command_w0.js @@ -76,7 +76,7 @@ countEventually(coll, 2); // // Upsert fail due to duplicate key index, w:0, ordered:true coll.drop(); -coll.ensureIndex({a: 1}, {unique: true}); +coll.createIndex({a: 1}, {unique: true}); request = { update: coll.getName(), updates: [ diff --git a/jstests/core/bulk_api_ordered.js b/jstests/core/bulk_api_ordered.js index 2957195065d..d3a484c2b12 100644 --- a/jstests/core/bulk_api_ordered.js +++ b/jstests/core/bulk_api_ordered.js @@ -80,7 +80,7 @@ var executeTests = function() { // Create unique index coll.remove({}); - coll.ensureIndex({a: 1}, {unique: true}); + coll.createIndex({a: 1}, {unique: true}); /** * Single error ordered bulk operation @@ -118,7 +118,7 @@ var executeTests = function() { // Create unique index coll.dropIndexes(); coll.remove({}); - coll.ensureIndex({a: 1}, {unique: true}); + coll.createIndex({a: 1}, {unique: true}); /** * Multiple error ordered bulk operation @@ -152,7 +152,7 @@ var executeTests = function() { // Create unique index coll.dropIndexes(); coll.remove({}); - coll.ensureIndex({a: 1}, {unique: true}); + coll.createIndex({a: 1}, {unique: true}); }; var buildVersion = parseInt(db.runCommand({buildInfo: 1}).versionArray.slice(0, 3).join(""), 10); diff --git a/jstests/core/bulk_api_unordered.js b/jstests/core/bulk_api_unordered.js index 6db2a607a25..04e002306e5 100644 --- a/jstests/core/bulk_api_unordered.js +++ b/jstests/core/bulk_api_unordered.js @@ -85,7 +85,7 @@ var executeTests = function() { // Create unique index coll.remove({}); - coll.ensureIndex({a: 1}, {unique: true}); + coll.createIndex({a: 1}, {unique: true}); /** * Single error unordered bulk operation @@ -118,7 +118,7 @@ var executeTests = function() { // Create unique index coll.dropIndexes(); coll.remove({}); - coll.ensureIndex({a: 1}, {unique: true}); + coll.createIndex({a: 1}, {unique: true}); /** * Multiple error unordered bulk operation @@ -168,7 +168,7 @@ var executeTests = function() { // Create unique index coll.dropIndexes(); coll.remove({}); - coll.ensureIndex({a: 1}, {unique: true}); + coll.createIndex({a: 1}, {unique: true}); }; var buildVersion = parseInt(db.runCommand({buildInfo: 1}).versionArray.slice(0, 3).join(""), 10); diff --git a/jstests/core/capped5.js b/jstests/core/capped5.js index 0efb957ae6c..163aa684fbe 100644 --- a/jstests/core/capped5.js +++ b/jstests/core/capped5.js @@ -9,8 +9,8 @@ t.insert({_id: 5, x: 11, z: 52}); assert.eq(1, t.getIndexKeys().length, "A0"); // now we assume _id index even on capped coll assert.eq(52, t.findOne({x: 11}).z, "A1"); -t.ensureIndex({_id: 1}); -t.ensureIndex({x: 1}); +t.createIndex({_id: 1}); +t.createIndex({x: 1}); assert.eq(52, t.findOne({x: 11}).z, "B1"); assert.eq(52, t.findOne({_id: 5}).z, "B2"); @@ -26,14 +26,14 @@ t.drop(); db.createCollection(tn, {capped: true, size: 1024 * 1024 * 1}); t.insert({_id: 5, x: 11}); t.insert({_id: 6, x: 12}); -t.ensureIndex({x: 1}, {unique: true}); +t.createIndex({x: 1}, {unique: true}); assert.eq(2, t.getIndexes().length); // now we assume _id index assert.eq(2, t.find().hint({x: 1}).toArray().length); // SERVER-525 (closed) unique indexes in capped collection t.drop(); db.createCollection(tn, {capped: true, size: 1024 * 1024 * 1}); -t.ensureIndex({_id: 1}); // note we assume will be automatically unique because it is _id +t.createIndex({_id: 1}); // note we assume will be automatically unique because it is _id t.insert({_id: 5, x: 11}); t.insert({_id: 5, x: 12}); assert.eq(1, t.find().toArray().length); diff --git a/jstests/core/capped_empty.js b/jstests/core/capped_empty.js index 99e08f217ed..93657b4a67f 100644 --- a/jstests/core/capped_empty.js +++ b/jstests/core/capped_empty.js @@ -14,7 +14,7 @@ db.createCollection(t.getName(), {capped: true, size: 100}); t.insert({x: 1}); t.insert({x: 2}); t.insert({x: 3}); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); assert.eq(3, t.count()); diff --git a/jstests/core/cappeda.js b/jstests/core/cappeda.js index f506d5416b1..1061ba0a1d6 100644 --- a/jstests/core/cappeda.js +++ b/jstests/core/cappeda.js @@ -22,7 +22,7 @@ function u() { // assert.throws( q , [] , "A1" ); // assert.throws( u , [] , "B1" ); -t.ensureIndex({_id: 1}); +t.createIndex({_id: 1}); assert.eq(1, q().x); q(); diff --git a/jstests/core/check_shard_index.js b/jstests/core/check_shard_index.js index f187a6210d0..e64beee77f8 100644 --- a/jstests/core/check_shard_index.js +++ b/jstests/core/check_shard_index.js @@ -16,7 +16,7 @@ f.drop(); // f.drop(); -f.ensureIndex({x: 1, y: 1}); +f.createIndex({x: 1, y: 1}); assert.eq(0, f.count(), "1. initial count should be zero"); res = db.runCommand({checkShardingIndex: "test.jstests_shardingindex", keyPattern: {x: 1, y: 1}}); @@ -32,7 +32,7 @@ assert.eq(true, res.ok, "1b"); // f.drop(); -f.ensureIndex({x: 1, y: 1}); +f.createIndex({x: 1, y: 1}); assert.eq(0, f.count(), "2. initial count should be zero"); f.save({x: 1, y: 1}); @@ -56,7 +56,7 @@ assert(res.idskip, "2d " + tojson(res)); // f.drop(); -f.ensureIndex({x: 1, y: 1}); +f.createIndex({x: 1, y: 1}); assert.eq(0, f.count(), "3. initial count should be zero"); f.save({x: 1, y: 1}); @@ -68,7 +68,7 @@ assert.eq(false, res.ok, "3a " + tojson(res)); f.remove({y: 2}); f.dropIndex({x: 1, y: 1}); -f.ensureIndex({x: 1, y: 1}); +f.createIndex({x: 1, y: 1}); assert.eq(1, f.count(), "3. count after removing array value should be 1"); res = db.runCommand({checkShardingIndex: "test.jstests_shardingindex", keyPattern: {x: 1, y: 1}}); @@ -85,7 +85,7 @@ assert.eq(false, res.ok, "3c " + tojson(res)); // f.drop(); -f.ensureIndex({x: 1, y: 1, z: 1}); +f.createIndex({x: 1, y: 1, z: 1}); assert.eq(0, f.count(), "4. initial count should be zero"); f.save({x: 1, y: 1, z: 1}); @@ -110,7 +110,7 @@ assert.eq(false, res.ok, "4e " + tojson(res)); f.remove({y: 2}); f.dropIndex({x: 1, y: 1, z: 1}); -f.ensureIndex({x: 1, y: 1, z: 1}); +f.createIndex({x: 1, y: 1, z: 1}); assert.eq(1, f.count(), "4. count after removing array value should be 1"); res = db.runCommand( @@ -131,7 +131,7 @@ assert.eq(false, res.ok, "4i " + tojson(res)); f.remove({x: 3}); // Necessary so that the index is no longer marked as multikey f.dropIndex({x: 1, y: 1, z: 1}); -f.ensureIndex({x: 1, y: 1, z: 1}); +f.createIndex({x: 1, y: 1, z: 1}); assert.eq(1, f.count(), "4. count after removing array value should be 1 again"); res = db.runCommand( diff --git a/jstests/core/collation.js b/jstests/core/collation.js index 5cfedcc8e1f..44e8092f75e 100644 --- a/jstests/core/collation.js +++ b/jstests/core/collation.js @@ -99,7 +99,7 @@ assert.eq(collectionInfos[0].options.collation, { }); // Ensure that an index with no collation inherits the collection-default collation. -assert.commandWorked(coll.ensureIndex({a: 1})); +assert.commandWorked(coll.createIndex({a: 1})); assertIndexHasCollation({a: 1}, { locale: "fr_CA", caseLevel: false, @@ -115,7 +115,7 @@ assertIndexHasCollation({a: 1}, { // Ensure that an index which specifies an overriding collation does not use the collection // default. -assert.commandWorked(coll.ensureIndex({b: 1}, {collation: {locale: "en_US"}})); +assert.commandWorked(coll.createIndex({b: 1}, {collation: {locale: "en_US"}})); assertIndexHasCollation({b: 1}, { locale: "en_US", caseLevel: false, @@ -131,11 +131,11 @@ assertIndexHasCollation({b: 1}, { // Ensure that an index which specifies the "simple" collation as an overriding collation still // does not use the collection default. -assert.commandWorked(coll.ensureIndex({d: 1}, {collation: {locale: "simple"}})); +assert.commandWorked(coll.createIndex({d: 1}, {collation: {locale: "simple"}})); assertIndexHasCollation({d: 1}, {locale: "simple"}); // Ensure that a v=1 index doesn't inherit the collection-default collation. -assert.commandWorked(coll.ensureIndex({c: 1}, {v: 1})); +assert.commandWorked(coll.createIndex({c: 1}, {v: 1})); assertIndexHasCollation({c: 1}, {locale: "simple"}); // Test that all indexes retain their current collation when the collection is re-indexed. (Only @@ -177,20 +177,20 @@ coll.drop(); // // Attempting to build an index with an invalid collation should fail. -assert.commandFailed(coll.ensureIndex({a: 1}, {collation: "not an object"})); -assert.commandFailed(coll.ensureIndex({a: 1}, {collation: {}})); -assert.commandFailed(coll.ensureIndex({a: 1}, {collation: {blah: 1}})); -assert.commandFailed(coll.ensureIndex({a: 1}, {collation: {locale: "en", blah: 1}})); -assert.commandFailed(coll.ensureIndex({a: 1}, {collation: {locale: "xx"}})); -assert.commandFailed(coll.ensureIndex({a: 1}, {collation: {locale: "en", strength: 99}})); +assert.commandFailed(coll.createIndex({a: 1}, {collation: "not an object"})); +assert.commandFailed(coll.createIndex({a: 1}, {collation: {}})); +assert.commandFailed(coll.createIndex({a: 1}, {collation: {blah: 1}})); +assert.commandFailed(coll.createIndex({a: 1}, {collation: {locale: "en", blah: 1}})); +assert.commandFailed(coll.createIndex({a: 1}, {collation: {locale: "xx"}})); +assert.commandFailed(coll.createIndex({a: 1}, {collation: {locale: "en", strength: 99}})); // Attempting to create an index whose collation version does not match the collator version // produced by ICU should result in failure with a special error code. assert.commandFailedWithCode( - coll.ensureIndex({a: 1}, {collation: {locale: "en", version: "unknownVersion"}}), + coll.createIndex({a: 1}, {collation: {locale: "en", version: "unknownVersion"}}), ErrorCodes.IncompatibleCollationVersion); -assert.commandWorked(coll.ensureIndex({a: 1}, {collation: {locale: "en_US"}})); +assert.commandWorked(coll.createIndex({a: 1}, {collation: {locale: "en_US"}})); assertIndexHasCollation({a: 1}, { locale: "en_US", caseLevel: false, @@ -335,7 +335,7 @@ assert.eq(0, coll.aggregate([{$match: {str: "FOO"}}], {collation: {locale: "simp // default collation. coll.drop(); assert.commandWorked(db.createCollection(coll.getName(), {collation: {locale: "en_US"}})); -assert.commandWorked(coll.ensureIndex({a: 1}, {collation: {locale: "en_US"}})); +assert.commandWorked(coll.createIndex({a: 1}, {collation: {locale: "en_US"}})); var explain = coll.explain("queryPlanner").aggregate([{$match: {a: "foo"}}]); assert(isIxscan(db, explain.queryPlanner.winningPlan)); @@ -343,7 +343,7 @@ assert(isIxscan(db, explain.queryPlanner.winningPlan)); // collation is incompatible with index collation. coll.drop(); assert.commandWorked(db.createCollection(coll.getName(), {collation: {locale: "en_US"}})); -assert.commandWorked(coll.ensureIndex({a: 1}, {collation: {locale: "simple"}})); +assert.commandWorked(coll.createIndex({a: 1}, {collation: {locale: "simple"}})); var explain = coll.explain("queryPlanner").aggregate([{$match: {a: "foo"}}]); assert(isCollscan(db, explain.queryPlanner.winningPlan)); @@ -505,7 +505,7 @@ assert.eq(1, coll.distinct("_id", {str: "foo"}, {collation: {locale: "simple"}}) // default collation. coll.drop(); assert.commandWorked(db.createCollection(coll.getName(), {collation: {locale: "en_US"}})); -assert.commandWorked(coll.ensureIndex({a: 1}, {collation: {locale: "en_US"}})); +assert.commandWorked(coll.createIndex({a: 1}, {collation: {locale: "en_US"}})); var explain = coll.explain("queryPlanner").distinct("a"); assert(planHasStage(db, explain.queryPlanner.winningPlan, "DISTINCT_SCAN")); assert(planHasStage(db, explain.queryPlanner.winningPlan, "FETCH")); @@ -534,7 +534,7 @@ assert(!planHasStage(db, explain.queryPlanner.winningPlan, "FETCH")); // incompatible with index collation. coll.drop(); assert.commandWorked(db.createCollection(coll.getName(), {collation: {locale: "en_US"}})); -assert.commandWorked(coll.ensureIndex({a: 1}, {collation: {locale: "simple"}})); +assert.commandWorked(coll.createIndex({a: 1}, {collation: {locale: "simple"}})); var explain = coll.explain("queryPlanner").distinct("a"); assert(isCollscan(db, explain.queryPlanner.winningPlan)); @@ -608,7 +608,7 @@ if (db.getMongo().useReadCommands()) { coll.find({str: {$ne: "FOO"}}).collation({locale: "en_US", strength: 2}).itcount()); // Find should return correct results when collation specified and compatible index exists. - assert.commandWorked(coll.ensureIndex({str: 1}, {collation: {locale: "en_US", strength: 2}})); + assert.commandWorked(coll.createIndex({str: 1}, {collation: {locale: "en_US", strength: 2}})); assert.eq(0, coll.find({str: "FOO"}).hint({str: 1}).itcount()); assert.eq(0, coll.find({str: "FOO"}).collation({locale: "en_US"}).hint({str: 1}).itcount()); assert.eq( @@ -623,7 +623,7 @@ if (db.getMongo().useReadCommands()) { // Find should return correct results when collation specified and compatible partial index // exists. - assert.commandWorked(coll.ensureIndex({str: 1}, { + assert.commandWorked(coll.createIndex({str: 1}, { partialFilterExpression: {str: {$lte: "FOO"}}, collation: {locale: "en_US", strength: 2} })); @@ -644,7 +644,7 @@ if (db.getMongo().useReadCommands()) { // Ensure results from an index that doesn't match the query collation are sorted to match // the requested collation. - assert.commandWorked(coll.ensureIndex({a: 1})); + assert.commandWorked(coll.createIndex({a: 1})); var res = coll.find({a: {'$exists': true}}, {_id: 0}).collation({locale: "en_US", strength: 3}).sort({ a: 1 @@ -746,7 +746,7 @@ if (db.getMongo().useReadCommands()) { // collation. coll.drop(); assert.commandWorked(db.createCollection(coll.getName(), {collation: {locale: "en_US"}})); -assert.commandWorked(coll.ensureIndex({a: 1}, {collation: {locale: "en_US"}})); +assert.commandWorked(coll.createIndex({a: 1}, {collation: {locale: "en_US"}})); var explain = coll.find({a: "foo"}).explain("queryPlanner"); assert(isIxscan(db, explain.queryPlanner.winningPlan)); @@ -754,7 +754,7 @@ assert(isIxscan(db, explain.queryPlanner.winningPlan)); // collation is "simple". coll.drop(); assert.commandWorked(db.createCollection(coll.getName(), {collation: {locale: "simple"}})); -assert.commandWorked(coll.ensureIndex({a: 1}, {collation: {locale: "simple"}})); +assert.commandWorked(coll.createIndex({a: 1}, {collation: {locale: "simple"}})); var explain = coll.find({a: "foo"}).explain("queryPlanner"); assert(isIxscan(db, explain.queryPlanner.winningPlan)); @@ -762,7 +762,7 @@ assert(isIxscan(db, explain.queryPlanner.winningPlan)); // collection has a non-"simple" default collation. coll.drop(); assert.commandWorked(db.createCollection(coll.getName(), {collation: {locale: "en_US"}})); -assert.commandWorked(coll.ensureIndex({a: 1}, {collation: {locale: "simple"}})); +assert.commandWorked(coll.createIndex({a: 1}, {collation: {locale: "simple"}})); var explain = coll.find({a: "foo"}).explain("queryPlanner"); assert(isCollscan(db, explain.queryPlanner.winningPlan)); @@ -770,7 +770,7 @@ assert(isCollscan(db, explain.queryPlanner.winningPlan)); // non-"simple" default collation. coll.drop(); assert.commandWorked(db.createCollection(coll.getName(), {collation: {locale: "en_US"}})); -assert.commandWorked(coll.ensureIndex({a: 1}, {collation: {locale: "simple"}})); +assert.commandWorked(coll.createIndex({a: 1}, {collation: {locale: "simple"}})); var explain = coll.find({a: "foo"}).collation({locale: "simple"}).explain("queryPlanner"); assert(isIxscan(db, explain.queryPlanner.winningPlan)); @@ -1314,14 +1314,14 @@ const geoNearStage = { // $geoNear should return correct results when collation specified and string predicate not // indexed. -assert.commandWorked(coll.ensureIndex({geo: "2dsphere"})); +assert.commandWorked(coll.createIndex({geo: "2dsphere"})); assert.eq(0, coll.aggregate([geoNearStage]).itcount()); assert.eq(1, coll.aggregate([geoNearStage], {collation: {locale: "en_US", strength: 2}}).itcount()); // $geoNear should return correct results when no collation specified and string predicate // indexed. assert.commandWorked(coll.dropIndexes()); -assert.commandWorked(coll.ensureIndex({geo: "2dsphere", str: 1})); +assert.commandWorked(coll.createIndex({geo: "2dsphere", str: 1})); assert.eq(0, coll.aggregate([geoNearStage]).itcount()); assert.eq(1, coll.aggregate([geoNearStage], {collation: {locale: "en_US", strength: 2}}).itcount()); @@ -1329,7 +1329,7 @@ assert.eq(1, coll.aggregate([geoNearStage], {collation: {locale: "en_US", streng // incompatible with string predicate. assert.commandWorked(coll.dropIndexes()); assert.commandWorked( - coll.ensureIndex({geo: "2dsphere", str: 1}, {collation: {locale: "en_US", strength: 3}})); + coll.createIndex({geo: "2dsphere", str: 1}, {collation: {locale: "en_US", strength: 3}})); assert.eq(0, coll.aggregate([geoNearStage]).itcount()); assert.eq(1, coll.aggregate([geoNearStage], {collation: {locale: "en_US", strength: 2}}).itcount()); @@ -1337,7 +1337,7 @@ assert.eq(1, coll.aggregate([geoNearStage], {collation: {locale: "en_US", streng // compatible with string predicate. assert.commandWorked(coll.dropIndexes()); assert.commandWorked( - coll.ensureIndex({geo: "2dsphere", str: 1}, {collation: {locale: "en_US", strength: 2}})); + coll.createIndex({geo: "2dsphere", str: 1}, {collation: {locale: "en_US", strength: 2}})); assert.eq(0, coll.aggregate([geoNearStage]).itcount()); assert.eq(1, coll.aggregate([geoNearStage], {collation: {locale: "en_US", strength: 2}}).itcount()); @@ -1346,7 +1346,7 @@ assert.eq(1, coll.aggregate([geoNearStage], {collation: {locale: "en_US", streng coll.drop(); assert.commandWorked( db.createCollection(coll.getName(), {collation: {locale: "en_US", strength: 2}})); -assert.commandWorked(coll.ensureIndex({geo: "2dsphere"})); +assert.commandWorked(coll.createIndex({geo: "2dsphere"})); assert.commandWorked(coll.insert({geo: {type: "Point", coordinates: [0, 0]}, str: "abc"})); assert.eq(1, coll.aggregate([geoNearStage]).itcount()); @@ -1355,7 +1355,7 @@ assert.eq(1, coll.aggregate([geoNearStage]).itcount()); coll.drop(); assert.commandWorked( db.createCollection(coll.getName(), {collation: {locale: "en_US", strength: 2}})); -assert.commandWorked(coll.ensureIndex({geo: "2dsphere"})); +assert.commandWorked(coll.createIndex({geo: "2dsphere"})); assert.commandWorked(coll.insert({geo: {type: "Point", coordinates: [0, 0]}, str: "abc"})); assert.eq(0, coll.aggregate([geoNearStage], {collation: {locale: "simple"}}).itcount()); @@ -1378,7 +1378,7 @@ if (db.getMongo().useReadCommands()) { // predicate not indexed. coll.drop(); assert.commandWorked(coll.insert({geo: {type: "Point", coordinates: [0, 0]}, str: "abc"})); - assert.commandWorked(coll.ensureIndex({geo: "2dsphere"})); + assert.commandWorked(coll.createIndex({geo: "2dsphere"})); assert.eq( 0, coll.find( @@ -1394,7 +1394,7 @@ if (db.getMongo().useReadCommands()) { // Find with $nearSphere should return correct results when no collation specified and // string predicate indexed. assert.commandWorked(coll.dropIndexes()); - assert.commandWorked(coll.ensureIndex({geo: "2dsphere", str: 1})); + assert.commandWorked(coll.createIndex({geo: "2dsphere", str: 1})); assert.eq( 0, coll.find( @@ -1411,7 +1411,7 @@ if (db.getMongo().useReadCommands()) { // collation on index is incompatible with string predicate. assert.commandWorked(coll.dropIndexes()); assert.commandWorked( - coll.ensureIndex({geo: "2dsphere", str: 1}, {collation: {locale: "en_US", strength: 3}})); + coll.createIndex({geo: "2dsphere", str: 1}, {collation: {locale: "en_US", strength: 3}})); assert.eq( 0, coll.find( @@ -1428,7 +1428,7 @@ if (db.getMongo().useReadCommands()) { // collation on index is compatible with string predicate. assert.commandWorked(coll.dropIndexes()); assert.commandWorked( - coll.ensureIndex({geo: "2dsphere", str: 1}, {collation: {locale: "en_US", strength: 2}})); + coll.createIndex({geo: "2dsphere", str: 1}, {collation: {locale: "en_US", strength: 2}})); assert.eq( 0, coll.find( @@ -1886,7 +1886,7 @@ if (db.getMongo().useReadCommands()) { // Ensure results from index with min/max query are sorted to match requested collation. coll.drop(); - assert.commandWorked(coll.ensureIndex({a: 1, b: 1})); + assert.commandWorked(coll.createIndex({a: 1, b: 1})); assert.commandWorked( coll.insert([{a: 1, b: 1}, {a: 1, b: 2}, {a: 1, b: "A"}, {a: 1, b: "a"}, {a: 2, b: 2}])); var expected = [{a: 1, b: 1}, {a: 1, b: 2}, {a: 1, b: "a"}, {a: 1, b: "A"}, {a: 2, b: 2}]; diff --git a/jstests/core/collmod.js b/jstests/core/collmod.js index c70a806c2d7..2f71b39c485 100644 --- a/jstests/core/collmod.js +++ b/jstests/core/collmod.js @@ -53,7 +53,7 @@ function findCollectionInfo() { assert.commandFailed(t.runCommand('collmod', {NotARealOption: 1})); // add a TTL index -t.ensureIndex({a: 1}, {"name": "index1", "expireAfterSeconds": 50}); +t.createIndex({a: 1}, {"name": "index1", "expireAfterSeconds": 50}); assert(findTTL({a: 1}, 50), "TTL index not added"); // try to modify it with a bad key pattern @@ -98,7 +98,7 @@ assert.commandFailed(db.runCommand({ // try to modify a faulty TTL index with a non-numeric expireAfterSeconds field t.dropIndex({a: 1}); -t.ensureIndex({a: 1}, {"expireAfterSeconds": "50"}); +t.createIndex({a: 1}, {"expireAfterSeconds": "50"}); var res = db.runCommand({"collMod": coll, "index": {"keyPattern": {a: 1}, "expireAfterSeconds": 100}}); debug(res); @@ -106,7 +106,7 @@ assert.eq(0, res.ok, "shouldn't be able to modify faulty index spec"); // try with new index, this time set expireAfterSeconds t.dropIndex({a: 1}); -t.ensureIndex({a: 1}, {"expireAfterSeconds": 50}); +t.createIndex({a: 1}, {"expireAfterSeconds": 50}); var res = db.runCommand({"collMod": coll, "index": {"keyPattern": {a: 1}, "expireAfterSeconds": 100}}); debug(res); diff --git a/jstests/core/compact_keeps_indexes.js b/jstests/core/compact_keeps_indexes.js index 4371513b3d9..f4f59165272 100644 --- a/jstests/core/compact_keeps_indexes.js +++ b/jstests/core/compact_keeps_indexes.js @@ -15,7 +15,7 @@ var coll = db.compact_keeps_indexes; coll.drop(); coll.insert({_id: 1, x: 1}); -coll.ensureIndex({x: 1}); +coll.createIndex({x: 1}); assert.eq(coll.getIndexes().length, 2); diff --git a/jstests/core/count.js b/jstests/core/count.js index 523b0743c3f..c34f8721cef 100644 --- a/jstests/core/count.js +++ b/jstests/core/count.js @@ -17,13 +17,13 @@ assert.eq(2, coll.count()); coll.drop(); assert.commandWorked(coll.insert({a: true, b: false})); -assert.commandWorked(coll.ensureIndex({b: 1, a: 1})); +assert.commandWorked(coll.createIndex({b: 1, a: 1})); assert.eq(1, coll.find({a: true, b: false}).count()); assert.eq(1, coll.find({b: false, a: true}).count()); coll.drop(); assert.commandWorked(coll.insert({a: true, b: false})); -assert.commandWorked(coll.ensureIndex({b: 1, a: 1, c: 1})); +assert.commandWorked(coll.createIndex({b: 1, a: 1, c: 1})); assert.eq(1, coll.find({a: true, b: false}).count()); assert.eq(1, coll.find({b: false, a: true}).count()); diff --git a/jstests/core/count4.js b/jstests/core/count4.js index ac0b3d3491f..2bb35190bd8 100644 --- a/jstests/core/count4.js +++ b/jstests/core/count4.js @@ -13,7 +13,7 @@ q = { assert.eq(50, t.find(q).count(), "A"); assert.eq(50, t.find(q).itcount(), "B"); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); assert.eq(50, t.find(q).count(), "C"); assert.eq(50, t.find(q).itcount(), "D"); diff --git a/jstests/core/count5.js b/jstests/core/count5.js index b89eb88d494..ceedf62b336 100644 --- a/jstests/core/count5.js +++ b/jstests/core/count5.js @@ -14,7 +14,7 @@ q = { assert.eq(50, t.find(q).count(), "A"); assert.eq(50, t.find(q).itcount(), "B"); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); assert.eq(50, t.find(q).count(), "C"); assert.eq(50, t.find(q).itcount(), "D"); diff --git a/jstests/core/count6.js b/jstests/core/count6.js index 46fb428ef97..78735c89c26 100644 --- a/jstests/core/count6.js +++ b/jstests/core/count6.js @@ -6,7 +6,7 @@ t = db.jstests_count6; function checkCountForObject(obj) { t.drop(); - t.ensureIndex({b: 1, a: 1}); + t.createIndex({b: 1, a: 1}); function checkCounts(query, expected) { assert.eq(expected, t.count(query), "A1"); diff --git a/jstests/core/count7.js b/jstests/core/count7.js index 95417e241de..443134474a8 100644 --- a/jstests/core/count7.js +++ b/jstests/core/count7.js @@ -5,7 +5,7 @@ t = db.jstests_count7; t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.save({a: 'algebra'}); t.save({a: 'apple'}); t.save({a: 'azores'}); diff --git a/jstests/core/count9.js b/jstests/core/count9.js index 517322a9310..062f099e513 100644 --- a/jstests/core/count9.js +++ b/jstests/core/count9.js @@ -3,7 +3,7 @@ t = db.jstests_count9; t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.save({a: ['a', 'b', 'a']}); assert.eq(1, t.count({a: 'a'})); @@ -12,7 +12,7 @@ t.save({a: ['a', 'b', 'a']}); assert.eq(2, t.count({a: 'a'})); t.drop(); -t.ensureIndex({a: 1, b: 1}); +t.createIndex({a: 1, b: 1}); t.save({a: ['a', 'b', 'a'], b: 'r'}); assert.eq(1, t.count({a: 'a', b: 'r'})); @@ -23,6 +23,6 @@ assert.eq(2, t.count({a: 'a', b: 'r'})); assert.eq(2, t.count({a: 'a'})); t.drop(); -t.ensureIndex({'a.b': 1, 'a.c': 1}); +t.createIndex({'a.b': 1, 'a.c': 1}); t.save({a: [{b: 'b', c: 'c'}, {b: 'b', c: 'c'}]}); assert.eq(1, t.count({'a.b': 'b', 'a.c': 'c'})); diff --git a/jstests/core/count_hint.js b/jstests/core/count_hint.js index 21c7a37b87d..5ba9514de87 100644 --- a/jstests/core/count_hint.js +++ b/jstests/core/count_hint.js @@ -18,7 +18,7 @@ assert.commandWorked(coll.insert({i: 2})); assert.eq(2, coll.find().count()); -assert.commandWorked(coll.ensureIndex({i: 1})); +assert.commandWorked(coll.createIndex({i: 1})); assert.eq(2, coll.find().hint("i_1").count()); assert.eq(2, coll.find().hint({i: 1}).count()); @@ -30,7 +30,7 @@ assert.eq(2, coll.find().hint("_id_").count()); assert.eq(2, coll.find().hint({_id: 1}).count()); // Create a sparse index which should have no entries. -assert.commandWorked(coll.ensureIndex({x: 1}, {sparse: true})); +assert.commandWorked(coll.createIndex({x: 1}, {sparse: true})); // A hint should be respected, even if it results in the wrong answer. assert.eq(0, coll.find().hint("x_1").count()); diff --git a/jstests/core/countb.js b/jstests/core/countb.js index bd6f9507fd2..869825b25a1 100644 --- a/jstests/core/countb.js +++ b/jstests/core/countb.js @@ -7,7 +7,7 @@ t = db.jstests_countb; t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.save({a: ['a', 'b']}); assert.eq(0, t.find({a: {$in: ['a'], $gt: 'b'}}).count()); assert.eq(0, t.find({$and: [{a: 'a'}, {a: {$gt: 'b'}}]}).count()); diff --git a/jstests/core/countc.js b/jstests/core/countc.js index 876129c573f..5f0d31b769c 100644 --- a/jstests/core/countc.js +++ b/jstests/core/countc.js @@ -14,7 +14,7 @@ t.drop(); // Match a subset of inserted values within a $in operator. t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); // Save 'a' values 0, 0.5, 1.5, 2.5 ... 97.5, 98.5, 99. t.save({a: 0}); t.save({a: 99}); @@ -31,7 +31,7 @@ assert.eq(2, t.count({a: {$in: vals}})); // Match 'a' values within upper and lower limits. t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.save({a: [1, 2]}); // Will match because 'a' is in range. t.save({a: 9}); // Will not match because 'a' is not in range. // Only one document matches. @@ -39,14 +39,14 @@ assert.eq(1, t.count({a: {$gt: 0, $lt: 5}})); // Match two nested fields within an array. t.drop(); -t.ensureIndex({'a.b': 1, 'a.c': 1}); +t.createIndex({'a.b': 1, 'a.c': 1}); t.save({a: [{b: 2, c: 3}, {}]}); // The document does not match because its c value is 3. assert.eq(0, t.count({'a.b': 2, 'a.c': 2})); // $gt:string only matches strings. t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.save({a: 'a'}); // Will match. t.save({a: {}}); // Will not match because {} is not a string. // Only one document matches. @@ -54,7 +54,7 @@ assert.eq(1, t.count({a: {$gte: ''}})); // $lte:date only matches dates. t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.save({a: new Date(1)}); // Will match. t.save({a: true}); // Will not match because 'true' is not a date. // Only one document matches. @@ -62,14 +62,14 @@ assert.eq(1, t.count({a: {$lte: new Date(1)}})); // Querying for 'undefined' triggers an error. t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); assert.throws(function() { t.count({a: undefined}); }); // Count using a descending order index. t.drop(); -t.ensureIndex({a: -1}); +t.createIndex({a: -1}); t.save({a: 1}); t.save({a: 2}); t.save({a: 3}); @@ -80,7 +80,7 @@ assert.eq(2, t.count({a: {$lt: 3}})); // Count using a compound index. t.drop(); -t.ensureIndex({a: 1, b: 1}); +t.createIndex({a: 1, b: 1}); t.save({a: 1, b: 2}); t.save({a: 2, b: 1}); t.save({a: 2, b: 3}); @@ -95,7 +95,7 @@ assert.eq(1, t.count({a: 1, b: {$lt: 3}})); // Count using a compound descending order index. t.drop(); -t.ensureIndex({a: 1, b: -1}); +t.createIndex({a: 1, b: -1}); t.save({a: 1, b: 2}); t.save({a: 2, b: 1}); t.save({a: 2, b: 3}); @@ -108,13 +108,13 @@ assert.eq(1, t.count({a: 1, b: {$lt: 3}})); // Count with a multikey value. t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.save({a: [1, 2]}); assert.eq(1, t.count({a: {$gt: 0, $lte: 2}})); // Count with a match constraint on an unindexed field. t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.save({a: 1, b: 1}); t.save({a: 1, b: 2}); assert.eq(1, t.count({a: 1, $where: 'this.b == 1'})); diff --git a/jstests/core/coveredIndex2.js b/jstests/core/coveredIndex2.js index 9ec3ce529ae..41092e7d525 100644 --- a/jstests/core/coveredIndex2.js +++ b/jstests/core/coveredIndex2.js @@ -19,7 +19,7 @@ assert.eq(t.findOne({a: 1}).a, 1, "Cannot find right record"); assert.eq(t.count(), 2, "Not right length"); // use simple index -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); var plan = t.find({a: 1}).explain(); assert(!isIndexOnly(db, plan.queryPlanner.winningPlan), "Find using covered index but all fields are returned"); diff --git a/jstests/core/coveredIndex3.js b/jstests/core/coveredIndex3.js index a054840b6df..8b15b40e862 100644 --- a/jstests/core/coveredIndex3.js +++ b/jstests/core/coveredIndex3.js @@ -30,7 +30,7 @@ if (0) { // SERVER-4975 for (i = 0; i < 30; ++i) { t.drop(); - t.ensureIndex({a: 1}); + t.createIndex({a: 1}); for (j = 0; j < 1000; ++j) { t.save({a: j}); diff --git a/jstests/core/coveredIndex4.js b/jstests/core/coveredIndex4.js index 125cf22da3a..e62162d1685 100644 --- a/jstests/core/coveredIndex4.js +++ b/jstests/core/coveredIndex4.js @@ -9,8 +9,8 @@ t = db.jstests_coveredIndex4; t.drop(); -t.ensureIndex({a: 1}); -t.ensureIndex({b: 1}); +t.createIndex({a: 1}); +t.createIndex({b: 1}); orClause = []; for (i = 0; i < 200; ++i) { diff --git a/jstests/core/covered_index_compound_1.js b/jstests/core/covered_index_compound_1.js index 2f2d45adabd..a43a4f70ec5 100644 --- a/jstests/core/covered_index_compound_1.js +++ b/jstests/core/covered_index_compound_1.js @@ -16,7 +16,7 @@ coll.drop(); for (i = 0; i < 100; i++) { coll.insert({a: i, b: "strvar_" + (i % 13), c: NumberInt(i % 10)}); } -coll.ensureIndex({a: 1, b: -1, c: 1}); +coll.createIndex({a: 1, b: -1, c: 1}); // Test equality - all indexed fields queried and projected var plan = coll.find({a: 10, b: "strvar_10", c: 0}, {a: 1, b: 1, c: 1, _id: 0}) diff --git a/jstests/core/covered_index_negative_1.js b/jstests/core/covered_index_negative_1.js index 4028b1159b2..06d4119ffe4 100644 --- a/jstests/core/covered_index_negative_1.js +++ b/jstests/core/covered_index_negative_1.js @@ -16,10 +16,10 @@ for (i = 0; i < 100; i++) { coll.insert( {a: i, b: "strvar_" + (i % 13), c: NumberInt(i % 10), d: i * 10, e: [i, i % 10], f: i}); } -coll.ensureIndex({a: 1, b: -1, c: 1}); -coll.ensureIndex({e: 1}); -coll.ensureIndex({d: 1}); -coll.ensureIndex({f: "hashed"}); +coll.createIndex({a: 1, b: -1, c: 1}); +coll.createIndex({e: 1}); +coll.createIndex({d: 1}); +coll.createIndex({f: "hashed"}); // Test no projection var plan = diff --git a/jstests/core/covered_index_simple_1.js b/jstests/core/covered_index_simple_1.js index c49e5a2bc8e..ce8f1978a89 100644 --- a/jstests/core/covered_index_simple_1.js +++ b/jstests/core/covered_index_simple_1.js @@ -25,7 +25,7 @@ for (i = 0; i < 5; i++) { coll.insert({foo: "string"}); coll.insert({foo: {bar: 1}}); coll.insert({foo: null}); -coll.ensureIndex({foo: 1}); +coll.createIndex({foo: 1}); // Test equality with int value var plan = coll.find({foo: 1}, {foo: 1, _id: 0}).hint({foo: 1}).explain("executionStats"); diff --git a/jstests/core/covered_index_simple_2.js b/jstests/core/covered_index_simple_2.js index 67548ed8c06..066bf1bae4c 100644 --- a/jstests/core/covered_index_simple_2.js +++ b/jstests/core/covered_index_simple_2.js @@ -19,7 +19,7 @@ for (i = 0; i < 10; i++) { coll.insert({foo: "string"}); coll.insert({foo: {bar: 1}}); coll.insert({foo: null}); -coll.ensureIndex({foo: 1}, {unique: true}); +coll.createIndex({foo: 1}, {unique: true}); // Test equality with int value var plan = coll.find({foo: 1}, {foo: 1, _id: 0}).hint({foo: 1}).explain("executionStats"); diff --git a/jstests/core/covered_index_simple_3.js b/jstests/core/covered_index_simple_3.js index 5e654475252..c0e62a9243d 100644 --- a/jstests/core/covered_index_simple_3.js +++ b/jstests/core/covered_index_simple_3.js @@ -22,7 +22,7 @@ for (i = 0; i < 5; i++) { coll.insert({foo: "string"}); coll.insert({foo: {bar: 1}}); coll.insert({foo: null}); -coll.ensureIndex({foo: 1}, {sparse: true, unique: true}); +coll.createIndex({foo: 1}, {sparse: true, unique: true}); // Test equality with int value var plan = coll.find({foo: 1}, {foo: 1, _id: 0}).hint({foo: 1}).explain("executionStats"); @@ -85,7 +85,7 @@ assert.eq(0, // Check that $nin can be covered. coll.dropIndexes(); -coll.ensureIndex({bar: 1}); +coll.createIndex({bar: 1}); var plan = coll.find({bar: {$nin: [5, 8]}}, {bar: 1, _id: 0}).hint({bar: 1}).explain("executionStats"); assert(isIndexOnly(db, plan.queryPlanner.winningPlan), diff --git a/jstests/core/covered_index_sort_1.js b/jstests/core/covered_index_sort_1.js index 4b8cea2e825..526ddfbaa42 100644 --- a/jstests/core/covered_index_sort_1.js +++ b/jstests/core/covered_index_sort_1.js @@ -25,7 +25,7 @@ for (i = 0; i < 5; i++) { coll.insert({foo: "1"}); coll.insert({foo: {bar: 1}}); coll.insert({foo: null}); -coll.ensureIndex({foo: 1}); +coll.createIndex({foo: 1}); // Test no query and sort ascending var plan = coll.find({}, {foo: 1, _id: 0}).sort({foo: 1}).hint({foo: 1}).explain("executionStats"); diff --git a/jstests/core/covered_index_sort_3.js b/jstests/core/covered_index_sort_3.js index 1107e0584dc..0e9b1ea30ff 100644 --- a/jstests/core/covered_index_sort_3.js +++ b/jstests/core/covered_index_sort_3.js @@ -17,7 +17,7 @@ for (i = 0; i < 100; i++) { coll.insert({a: i, b: "strvar_" + (i % 13), c: NumberInt(i % 10)}); } -coll.ensureIndex({a: 1, b: -1, c: 1}); +coll.createIndex({a: 1, b: -1, c: 1}); // Test no query, sort on all fields in index order var plan = coll.find({}, {b: 1, c: 1, _id: 0}) diff --git a/jstests/core/create_index_helper_validation.js b/jstests/core/create_index_helper_validation.js index 805c567316d..1b11a50c6ca 100644 --- a/jstests/core/create_index_helper_validation.js +++ b/jstests/core/create_index_helper_validation.js @@ -20,7 +20,7 @@ assert.throws(() => coll.createIndex( {background: true}, {unique: true})); -assert.throws(() => coll.ensureIndex( +assert.throws(() => coll.createIndex( /* keys */ {a: 1}, /* options */ {}, /* commitQuorum */ "majority", diff --git a/jstests/core/crud_api.js b/jstests/core/crud_api.js index 4b37300e9b1..9eb09ab6436 100644 --- a/jstests/core/crud_api.js +++ b/jstests/core/crud_api.js @@ -700,7 +700,7 @@ var crudAPISpecTests = function crudAPISpecTests() { // Drop collection coll.drop(); - coll.ensureIndex({a: 1}, {unique: true}); + coll.createIndex({a: 1}, {unique: true}); // Should throw duplicate key error assert.throws(function() { diff --git a/jstests/core/cursor3.js b/jstests/core/cursor3.js index 1a7e0dfcc7e..f416ec47931 100644 --- a/jstests/core/cursor3.js +++ b/jstests/core/cursor3.js @@ -23,7 +23,7 @@ t.save({a: 0}); t.save({a: 1}); t.save({a: 2}); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); checkResults([1], t.find({a: 1}).sort({a: 1}).hint({a: 1}), testNum++); checkResults([1], t.find({a: 1}).sort({a: -1}).hint({a: 1}), testNum++); diff --git a/jstests/core/cursor4.js b/jstests/core/cursor4.js index dd7875d0836..d0440d329f1 100644 --- a/jstests/core/cursor4.js +++ b/jstests/core/cursor4.js @@ -15,7 +15,7 @@ function testConstrainedFindMultiFieldSorting(db) { entries = [{a: 0, b: 0}, {a: 0, b: 1}, {a: 1, b: 1}, {a: 1, b: 1}, {a: 2, b: 0}]; for (i = 0; i < entries.length; ++i) r.save(entries[i]); - r.ensureIndex({a: 1, b: 1}); + r.createIndex({a: 1, b: 1}); reverseEntries = entries.slice(); reverseEntries.reverse(); diff --git a/jstests/core/cursor5.js b/jstests/core/cursor5.js index 0232b92e4cc..aab03473255 100644 --- a/jstests/core/cursor5.js +++ b/jstests/core/cursor5.js @@ -26,7 +26,7 @@ function testBoundsWithSubobjectIndexes(db) { r.save(z[i]); idx = {"a.d": 1, a: 1, e: -1}; rIdx = {"a.d": -1, a: -1, e: 1}; - r.ensureIndex(idx); + r.createIndex(idx); checkResults([z[0], z[4], z[2]], r.find({e: 4}).sort(idx).hint(idx)); checkResults([z[1], z[3]], r.find({e: {$gt: 4}, "a.b": 1}).sort(idx).hint(idx)); diff --git a/jstests/core/cursor6.js b/jstests/core/cursor6.js index d2c56c00e75..7c8daa1bfcb 100644 --- a/jstests/core/cursor6.js +++ b/jstests/core/cursor6.js @@ -60,7 +60,7 @@ z = [{a: 1, b: 1}, {a: 1, b: 2}, {a: 2, b: 1}, {a: 2, b: 2}]; for (i = 0; i < z.length; ++i) r.save(z[i]); -r.ensureIndex({a: 1, b: -1}); +r.createIndex({a: 1, b: -1}); check(false); check(true); diff --git a/jstests/core/cursor7.js b/jstests/core/cursor7.js index 7807dbe22f5..4a21c420274 100644 --- a/jstests/core/cursor7.js +++ b/jstests/core/cursor7.js @@ -17,7 +17,7 @@ function testMultipleInequalities(db) { r.save(z[i]); idx = {a: 1, b: 1}; rIdx = {a: -1, b: -1}; - r.ensureIndex(idx); + r.createIndex(idx); checkResults([z[2], z[3]], r.find({a: {$gt: 3}}).sort(idx).hint(idx)); checkResults([z[2]], r.find({a: {$gt: 3, $lt: 7}}).sort(idx).hint(idx)); diff --git a/jstests/core/date2.js b/jstests/core/date2.js index 15993815b14..a398058d771 100644 --- a/jstests/core/date2.js +++ b/jstests/core/date2.js @@ -3,7 +3,7 @@ t = db.jstests_date2; t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); var obj = {a: new Timestamp(0, 1)}; // in old versions this was == to new Date(1) t.save(obj); diff --git a/jstests/core/date3.js b/jstests/core/date3.js index 80279a9559c..e3eaea620ec 100644 --- a/jstests/core/date3.js +++ b/jstests/core/date3.js @@ -29,5 +29,5 @@ function test() { } test(); -t.ensureIndex({d: 1}); +t.createIndex({d: 1}); test(); diff --git a/jstests/core/distinct3.js b/jstests/core/distinct3.js index 654cd8e352a..6a67635500d 100644 --- a/jstests/core/distinct3.js +++ b/jstests/core/distinct3.js @@ -10,8 +10,8 @@ t = db.jstests_distinct3; t.drop(); -t.ensureIndex({a: 1}); -t.ensureIndex({b: 1}); +t.createIndex({a: 1}); +t.createIndex({b: 1}); var bulk = t.initializeUnorderedBulkOp(); for (i = 0; i < 50; ++i) { diff --git a/jstests/core/distinct_array1.js b/jstests/core/distinct_array1.js index 2d3a96a6af6..cb82c25bbff 100644 --- a/jstests/core/distinct_array1.js +++ b/jstests/core/distinct_array1.js @@ -19,7 +19,7 @@ res = t.distinct("a.1").sort(); assert.eq("2,3,4", res.toString()); // With index. -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); res = t.distinct("a").sort(); assert.eq("1,2,3,4,5,9", res.toString()); @@ -51,7 +51,7 @@ res = t.distinct("a.1.b").sort(); assert.eq("d,e,f", res.toString()); // With index. -t.ensureIndex({"a.b": 1}); +t.createIndex({"a.b": 1}); res = t.distinct("a.b"); res.sort(); // TODO SERVER-14832 The presence of an index may change results, but only if the index is not @@ -85,7 +85,7 @@ res = t.distinct("_id.a.1").sort(); assert.eq("2,3,4", res.toString()); // With index. -t.ensureIndex({"_id.a": 1}); +t.createIndex({"_id.a": 1}); res = t.distinct("_id.a").sort(); // TODO SERVER-14832: distinct() may incorrectly return null in presence of index. assert.eq([1, 2, 3, 4, 5, 9, null], res); diff --git a/jstests/core/distinct_index2.js b/jstests/core/distinct_index2.js index d1b72565102..1f552102059 100644 --- a/jstests/core/distinct_index2.js +++ b/jstests/core/distinct_index2.js @@ -1,8 +1,8 @@ t = db.distinct_index2; t.drop(); -t.ensureIndex({a: 1, b: 1}); -t.ensureIndex({c: 1}); +t.createIndex({a: 1, b: 1}); +t.createIndex({c: 1}); // Uniformly distributed dataset. // If we use a randomly generated dataset, we might not @@ -37,5 +37,5 @@ check("c"); // hashed index should produce same results. t.dropIndexes(); -t.ensureIndex({a: "hashed"}); +t.createIndex({a: "hashed"}); check("a"); diff --git a/jstests/core/drop.js b/jstests/core/drop.js index ea395660a5f..769a8cd348c 100644 --- a/jstests/core/drop.js +++ b/jstests/core/drop.js @@ -12,12 +12,12 @@ assert(!res.ok, tojson(res)); assert.eq(0, coll.getIndexes().length, "A"); coll.save({}); assert.eq(1, coll.getIndexes().length, "B"); -coll.ensureIndex({a: 1}); +coll.createIndex({a: 1}); assert.eq(2, coll.getIndexes().length, "C"); assert.commandWorked(db.runCommand({drop: coll.getName()})); assert.eq(0, coll.getIndexes().length, "D"); -coll.ensureIndex({a: 1}); +coll.createIndex({a: 1}); assert.eq(2, coll.getIndexes().length, "E"); assert.commandWorked(db.runCommand({dropIndexes: coll.getName(), index: "*"}), "drop indexes A"); assert.eq(1, coll.getIndexes().length, "G"); diff --git a/jstests/core/drop_index.js b/jstests/core/drop_index.js index 60dbec0e3ea..e808b1f7829 100644 --- a/jstests/core/drop_index.js +++ b/jstests/core/drop_index.js @@ -57,7 +57,7 @@ assert.commandFailedWithCode(t.dropIndex({_id: 1}), ErrorCodes.InvalidOptions); // Ensure you can recreate indexes, even if you don't use dropIndex method. // Prior to SERVER-7168, the shell used to cache names of indexes created using -// Collection.ensureIndex(). +// Collection.createIndex(). assert.commandWorked(t.createIndex({a: 1})); assertIndexes(['a_1', 'c_1', 'd_1', 'e_1'], 'recreating {a: 1}'); diff --git a/jstests/core/dropdb_race.js b/jstests/core/dropdb_race.js index 6bcd334e7ab..8f1356db1d6 100644 --- a/jstests/core/dropdb_race.js +++ b/jstests/core/dropdb_race.js @@ -25,7 +25,7 @@ for (var pass = 0; pass < 100; pass++) { } t.insert({x: 1}); t.insert({x: 3}); - t.ensureIndex({x: 1}); + t.createIndex({x: 1}); sleep(s); if (pass % 13 == 0) t.drop(); diff --git a/jstests/core/exists.js b/jstests/core/exists.js index e0ba49fabd8..b85d80c36a7 100644 --- a/jstests/core/exists.js +++ b/jstests/core/exists.js @@ -36,10 +36,10 @@ function dotest(n) { } dotest("before index"); -t.ensureIndex({"a": 1}); -t.ensureIndex({"a.b": 1}); -t.ensureIndex({"a.b.c": 1}); -t.ensureIndex({"a.b.c.d": 1}); +t.createIndex({"a": 1}); +t.createIndex({"a.b": 1}); +t.createIndex({"a.b.c": 1}); +t.createIndex({"a.b.c.d": 1}); dotest("after index"); assert.eq(1, t.find({a: {$exists: false}}).hint({a: 1}).itcount()); diff --git a/jstests/core/exists2.js b/jstests/core/exists2.js index 3b4580cd310..0764d859c3b 100644 --- a/jstests/core/exists2.js +++ b/jstests/core/exists2.js @@ -9,6 +9,6 @@ assert.eq(2, t.find({a: 1, b: 1}).itcount(), "A2"); assert.eq(1, t.find({a: 1, b: 1, c: {"$exists": true}}).itcount(), "A3"); assert.eq(1, t.find({a: 1, b: 1, c: {"$exists": false}}).itcount(), "A4"); -t.ensureIndex({a: 1, b: 1, c: 1}); +t.createIndex({a: 1, b: 1, c: 1}); assert.eq(1, t.find({a: 1, b: 1, c: {"$exists": true}}).itcount(), "B1"); assert.eq(1, t.find({a: 1, b: 1, c: {"$exists": false}}).itcount(), "B2"); diff --git a/jstests/core/exists3.js b/jstests/core/exists3.js index e4ce03437bb..510d63c3752 100644 --- a/jstests/core/exists3.js +++ b/jstests/core/exists3.js @@ -11,7 +11,7 @@ assert.eq(1, t.find({c: {$exists: false}}).itcount()); assert.eq(1, t.find({c: {$exists: false}}).sort({c: -1}).itcount()); // now we have an index on the sort key -t.ensureIndex({c: -1}); +t.createIndex({c: -1}); assert.eq(1, t.find({c: {$exists: false}}).sort({c: -1}).itcount()); assert.eq(1, t.find({c: {$exists: false}}).itcount()); diff --git a/jstests/core/exists4.js b/jstests/core/exists4.js index 2979a60f276..a533ca53e9c 100644 --- a/jstests/core/exists4.js +++ b/jstests/core/exists4.js @@ -3,7 +3,7 @@ t = db.jstests_exists4; t.drop(); -t.ensureIndex({date: -1, country_code: 1, user_id: 1}, {unique: 1, background: 1}); +t.createIndex({date: -1, country_code: 1, user_id: 1}, {unique: 1, background: 1}); t.insert({date: new Date("08/27/2010"), tot_visit: 100}); t.insert({date: new Date("08/27/2010"), country_code: "IT", tot_visit: 77}); t.insert({date: new Date("08/27/2010"), country_code: "ES", tot_visit: 23}); diff --git a/jstests/core/exists6.js b/jstests/core/exists6.js index 67ab7e5345d..736574db895 100644 --- a/jstests/core/exists6.js +++ b/jstests/core/exists6.js @@ -3,7 +3,7 @@ t = db.jstests_exists6; t.drop(); -t.ensureIndex({b: 1}); +t.createIndex({b: 1}); t.save({}); t.save({b: 1}); t.save({b: null}); @@ -14,7 +14,7 @@ assert.eq(1, t.find({b: {$exists: false}}).itcount()); assert.eq(1, t.find({b: {$not: {$exists: true}}}).itcount()); // Now check existence of second compound field. -t.ensureIndex({a: 1, b: 1}); +t.createIndex({a: 1, b: 1}); t.save({a: 1}); t.save({a: 1, b: 1}); t.save({a: 1, b: null}); diff --git a/jstests/core/exists7.js b/jstests/core/exists7.js index 74ea4e9719c..6ca55a42286 100644 --- a/jstests/core/exists7.js +++ b/jstests/core/exists7.js @@ -18,5 +18,5 @@ function testIntegerExistsSpec() { } testIntegerExistsSpec(); -t.ensureIndex({b: 1}); +t.createIndex({b: 1}); testIntegerExistsSpec(); diff --git a/jstests/core/exists9.js b/jstests/core/exists9.js index 444bcf731a1..3b245cd4188 100644 --- a/jstests/core/exists9.js +++ b/jstests/core/exists9.js @@ -12,7 +12,7 @@ assert.eq(1, t.count({'a.b': {$exists: false}})); assert.eq(0, t.count({'a.b': {$exists: true}})); // With index. -t.ensureIndex({'a.b': 1}); +t.createIndex({'a.b': 1}); assert.eq(1, t.find({'a.b': {$exists: false}}).hint({'a.b': 1}).itcount()); assert.eq(0, t.find({'a.b': {$exists: true}}).hint({'a.b': 1}).itcount()); @@ -25,7 +25,7 @@ assert.eq(1, t.count({a: {$exists: true}})); assert.eq(1, t.count({a: {$exists: false}})); // With index. -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); assert.eq(1, t.find({a: {$exists: true}}).hint({a: 1}).itcount()); assert.eq(1, t.find({a: {$exists: false}}).hint({a: 1}).itcount()); @@ -38,6 +38,6 @@ assert.eq(1, t.count({'a.0': {$exists: true}})); assert.eq(1, t.count({'a.0': {$exists: false}})); // With index. -t.ensureIndex({'a.0': 1}); +t.createIndex({'a.0': 1}); assert.eq(1, t.find({'a.0': {$exists: true}}).hint({'a.0': 1}).itcount()); assert.eq(1, t.find({'a.0': {$exists: false}}).hint({'a.0': 1}).itcount()); diff --git a/jstests/core/existsa.js b/jstests/core/existsa.js index d1079310d71..2b5f70dd77f 100644 --- a/jstests/core/existsa.js +++ b/jstests/core/existsa.js @@ -19,7 +19,7 @@ function setIndex(_indexKeyField) { indexKeyField = _indexKeyField; indexKeySpec = {}; indexKeySpec[indexKeyField] = 1; - coll.ensureIndex(indexKeySpec, {sparse: true}); + coll.createIndex(indexKeySpec, {sparse: true}); } setIndex('a'); @@ -106,6 +106,6 @@ assertExistsUnindexed({'a.b': {$elemMatch: {$gt: 0, $not: {$exists: false}}}}, 1 // A non sparse index will not be disallowed. coll.drop(); assert.commandWorked(coll.insert({})); -coll.ensureIndex({a: 1}); +coll.createIndex({a: 1}); assert.eq(1, coll.find({a: {$exists: false}}).itcount()); })(); diff --git a/jstests/core/existsb.js b/jstests/core/existsb.js index d46266cdd16..64ee3cf9a88 100644 --- a/jstests/core/existsb.js +++ b/jstests/core/existsb.js @@ -57,20 +57,20 @@ function checkExistsNull() { checkExistsNull(); // try with a standard index -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); checkExistsNull(); // try with a sparse index t.dropIndexes(); -t.ensureIndex({a: 1}, {sparse: true}); +t.createIndex({a: 1}, {sparse: true}); checkExistsNull(); // try with a compound index t.dropIndexes(); -t.ensureIndex({a: 1, b: 1}); +t.createIndex({a: 1, b: 1}); checkExistsNull(); // try with sparse compound index t.dropIndexes(); -t.ensureIndex({a: 1, b: 1}, {sparse: true}); +t.createIndex({a: 1, b: 1}, {sparse: true}); checkExistsNull(); diff --git a/jstests/core/explain1.js b/jstests/core/explain1.js index 09891f214dd..8450335159d 100644 --- a/jstests/core/explain1.js +++ b/jstests/core/explain1.js @@ -19,7 +19,7 @@ assert.eq(49, t.find(q).count(), "A"); assert.eq(49, t.find(q).itcount(), "B"); assert.eq(20, t.find(q).limit(20).itcount(), "C"); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); assert.eq(49, t.find(q).count(), "D"); assert.eq(49, t.find(q).itcount(), "E"); diff --git a/jstests/core/explain4.js b/jstests/core/explain4.js index 06c7bf0b359..df0d98382e0 100644 --- a/jstests/core/explain4.js +++ b/jstests/core/explain4.js @@ -6,7 +6,7 @@ t = db.jstests_explain4; t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); for (i = 0; i < 10; ++i) { t.save({a: i, b: 0}); diff --git a/jstests/core/explain5.js b/jstests/core/explain5.js index 5bae866e096..50648cd8817 100644 --- a/jstests/core/explain5.js +++ b/jstests/core/explain5.js @@ -7,8 +7,8 @@ t = db.jstests_explain5; t.drop(); -t.ensureIndex({a: 1}); -t.ensureIndex({b: 1}); +t.createIndex({a: 1}); +t.createIndex({b: 1}); for (i = 0; i < 1000; ++i) { t.save({a: i, b: i % 3}); diff --git a/jstests/core/explain6.js b/jstests/core/explain6.js index dbbb767531c..f36640ce567 100644 --- a/jstests/core/explain6.js +++ b/jstests/core/explain6.js @@ -10,8 +10,8 @@ t = db.jstests_explain6; t.drop(); -t.ensureIndex({a: 1, b: 1}); -t.ensureIndex({b: 1, a: 1}); +t.createIndex({a: 1, b: 1}); +t.createIndex({b: 1, a: 1}); t.save({a: 0, b: 1}); t.save({a: 1, b: 0}); diff --git a/jstests/core/explain_count.js b/jstests/core/explain_count.js index 883f8b84ac7..8dc0854ab15 100644 --- a/jstests/core/explain_count.js +++ b/jstests/core/explain_count.js @@ -99,7 +99,7 @@ assertExplainCount({explainResults: explain, expectedCount: 0}); // Now add a bit of data to the collection. // On sharded clusters, we'll want the shard key to be indexed, so we make _id part of the index. // This means counts will not have to fetch from the document in order to get the shard key. -t.ensureIndex({a: 1, _id: 1}); +t.createIndex({a: 1, _id: 1}); for (var i = 0; i < 10; i++) { t.insert({_id: i, a: 1}); } diff --git a/jstests/core/explain_delete.js b/jstests/core/explain_delete.js index 1863979faa5..44a67ea21ca 100644 --- a/jstests/core/explain_delete.js +++ b/jstests/core/explain_delete.js @@ -43,7 +43,7 @@ explain = db.runCommand({explain: {delete: collName, deletes: [{q: {a: 1}, limit checkNWouldDelete(explain, 0); // Add an index but no data, and check that the explain still works. -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); explain = db.runCommand({explain: {delete: collName, deletes: [{q: {a: 1}, limit: 0}]}}); checkNWouldDelete(explain, 0); diff --git a/jstests/core/explain_execution_error.js b/jstests/core/explain_execution_error.js index d2240452573..4515a050edc 100644 --- a/jstests/core/explain_execution_error.js +++ b/jstests/core/explain_execution_error.js @@ -117,8 +117,8 @@ assertExecError(result); // Now we introduce two indices. One provides the requested sort order, and // the other does not. -t.ensureIndex({b: 1}); -t.ensureIndex({c: 1}); +t.createIndex({b: 1}); +t.createIndex({c: 1}); // The query should no longer fail with a memory limit error because the planner can obtain // the sort by scanning an index. diff --git a/jstests/core/explain_find.js b/jstests/core/explain_find.js index fcf2e35053c..c42d59d7671 100644 --- a/jstests/core/explain_find.js +++ b/jstests/core/explain_find.js @@ -10,7 +10,7 @@ var collName = "jstests_explain_find"; var t = db[collName]; t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); for (var i = 0; i < 10; i++) { t.insert({_id: i, a: i}); diff --git a/jstests/core/explain_large_bounds.js b/jstests/core/explain_large_bounds.js index 1ff7307e7d9..1ca27f9a8ef 100644 --- a/jstests/core/explain_large_bounds.js +++ b/jstests/core/explain_large_bounds.js @@ -8,7 +8,7 @@ const coll = db.jstests_explain_large_bounds; coll.drop(); -coll.ensureIndex({a: 1}); +coll.createIndex({a: 1}); let inClause = []; for (let i = 0; i < 1000000; i++) { diff --git a/jstests/core/explain_multi_plan.js b/jstests/core/explain_multi_plan.js index dc8f153e6cb..845438af91e 100644 --- a/jstests/core/explain_multi_plan.js +++ b/jstests/core/explain_multi_plan.js @@ -16,8 +16,8 @@ var coll = db.explainMultiPlan; coll.drop(); // Create indices to ensure there are multiple plans available. -assert.commandWorked(coll.ensureIndex({a: 1, b: 1})); -assert.commandWorked(coll.ensureIndex({a: 1, b: -1})); +assert.commandWorked(coll.createIndex({a: 1, b: 1})); +assert.commandWorked(coll.createIndex({a: 1, b: -1})); // Insert some data to work with. var bulk = coll.initializeOrderedBulkOp(); diff --git a/jstests/core/explain_shell_helpers.js b/jstests/core/explain_shell_helpers.js index 1a66a032143..cad5fec9141 100644 --- a/jstests/core/explain_shell_helpers.js +++ b/jstests/core/explain_shell_helpers.js @@ -22,7 +22,7 @@ load("jstests/libs/analyze_plan.js"); var explain; var stage; -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); for (var i = 0; i < 10; i++) { t.insert({_id: i, a: i, b: 1}); } @@ -267,7 +267,7 @@ assert(planHasStage(db, explain.queryPlanner.winningPlan, "COUNT")); assert(planHasStage(db, explain.queryPlanner.winningPlan, "COUNT_SCAN")); // Explainable count with hint. -assert.commandWorked(t.ensureIndex({c: 1}, {sparse: true})); +assert.commandWorked(t.createIndex({c: 1}, {sparse: true})); explain = t.explain().count({c: {$exists: false}}, {hint: "c_1"}); assert.commandWorked(explain); assert(planHasStage(db, explain.queryPlanner.winningPlan, "IXSCAN")); diff --git a/jstests/core/expr.js b/jstests/core/expr.js index 1a23ac00d8b..a6861a4d2cf 100644 --- a/jstests/core/expr.js +++ b/jstests/core/expr.js @@ -190,7 +190,7 @@ if (db.getMongo().writeMode() === "commands") { coll.drop(); assert.commandWorked(coll.insert({geo: {type: "Point", coordinates: [0, 0]}, a: 0})); -assert.commandWorked(coll.ensureIndex({geo: "2dsphere"})); +assert.commandWorked(coll.createIndex({geo: "2dsphere"})); assert.eq(1, coll.aggregate({ $geoNear: { diff --git a/jstests/core/filemd5.js b/jstests/core/filemd5.js index b33611c1e90..064bf323bcf 100644 --- a/jstests/core/filemd5.js +++ b/jstests/core/filemd5.js @@ -17,7 +17,7 @@ assert.commandWorked(db.fs.chunks.insert({files_id: 1, n: 0, data: new BinData(0 assert.commandFailedWithCode(db.runCommand({filemd5: 1, root: "fs"}), ErrorCodes.NoQueryExecutionPlans); -db.fs.chunks.ensureIndex({files_id: 1, n: 1}); +db.fs.chunks.createIndex({files_id: 1, n: 1}); assert.commandWorked(db.runCommand({filemd5: 1, root: "fs"})); assert.commandFailedWithCode(db.runCommand({filemd5: 1, root: "fs", partialOk: 1, md5state: 5}), diff --git a/jstests/core/find6.js b/jstests/core/find6.js index 7edf1739c78..4c7a0a9384b 100644 --- a/jstests/core/find6.js +++ b/jstests/core/find6.js @@ -34,7 +34,7 @@ function f() { for (var pass = 0; pass <= 1; pass++) { f(); - q.ensureIndex({a: 1}); + q.createIndex({a: 1}); } t = db.multidim; diff --git a/jstests/core/find_and_modify_concurrent_update.js b/jstests/core/find_and_modify_concurrent_update.js index f1ac1282b49..dca7c547c18 100644 --- a/jstests/core/find_and_modify_concurrent_update.js +++ b/jstests/core/find_and_modify_concurrent_update.js @@ -19,8 +19,8 @@ for (var i = 0; i < 3; i++) { var t = db.find_and_modify_concurrent; t.drop(); - assert.commandWorked(t.ensureIndex({a: 1})); - assert.commandWorked(t.ensureIndex({b: 1})); + assert.commandWorked(t.createIndex({a: 1})); + assert.commandWorked(t.createIndex({b: 1})); assert.commandWorked(t.insert({_id: 1, a: 1, b: 1})); var join = diff --git a/jstests/core/find_dedup.js b/jstests/core/find_dedup.js index 8c628b66734..8c0f416efb1 100644 --- a/jstests/core/find_dedup.js +++ b/jstests/core/find_dedup.js @@ -22,7 +22,7 @@ function checkDedup(query, idArray) { // Deduping $or coll.drop(); -coll.ensureIndex({a: 1, b: 1}); +coll.createIndex({a: 1, b: 1}); assert.commandWorked(coll.insert({_id: 1, a: 1, b: 1})); assert.commandWorked(coll.insert({_id: 2, a: 1, b: 1})); assert.commandWorked(coll.insert({_id: 3, a: 2, b: 2})); diff --git a/jstests/core/finda.js b/jstests/core/finda.js index 0f59c4c7f3b..1525c7aaeda 100644 --- a/jstests/core/finda.js +++ b/jstests/core/finda.js @@ -11,7 +11,7 @@ t.drop(); numDocs = 200; function clearQueryPlanCache() { - t.ensureIndex({c: 1}); + t.createIndex({c: 1}); t.dropIndex({c: 1}); } @@ -92,7 +92,7 @@ function queryWithPlanTypes(withDups) { } else { t.save({_id: 0, a: 0, b: 0}); } - t.ensureIndex({a: 1, _id: 1}); // Include _id for a covered index projection. + t.createIndex({a: 1, _id: 1}); // Include _id for a covered index projection. // All plans in order. checkCursorWithBatchSize({a: {$gte: 0}}, null, 150, 150); diff --git a/jstests/core/fts2.js b/jstests/core/fts2.js index 77b6fe25bd5..7629d313b00 100644 --- a/jstests/core/fts2.js +++ b/jstests/core/fts2.js @@ -12,7 +12,7 @@ t.drop(); t.save({_id: 1, x: "az b x", y: "c d m", z: 1}); t.save({_id: 2, x: "c d y", y: "az b n", z: 2}); -t.ensureIndex({x: "text"}, {weights: {x: 10, y: 1}}); +t.createIndex({x: "text"}, {weights: {x: 10, y: 1}}); assert.eq([1, 2], queryIDS(t, "az"), "A1"); assert.eq([2, 1], queryIDS(t, "d"), "A2"); diff --git a/jstests/core/fts3.js b/jstests/core/fts3.js index 6a4c813744a..32aa3fb002a 100644 --- a/jstests/core/fts3.js +++ b/jstests/core/fts3.js @@ -12,7 +12,7 @@ t.drop(); t.save({_id: 1, x: "az b x", y: "c d m", z: 1}); t.save({_id: 2, x: "c d y", y: "az b n", z: 2}); -t.ensureIndex({x: "text", z: 1}, {weights: {x: 10, y: 1}}); +t.createIndex({x: "text", z: 1}, {weights: {x: 10, y: 1}}); assert.eq([1, 2], queryIDS(t, "az"), "A1"); assert.eq([2, 1], queryIDS(t, "d"), "A2"); diff --git a/jstests/core/fts4.js b/jstests/core/fts4.js index 16f88a7a760..ea8055eeb11 100644 --- a/jstests/core/fts4.js +++ b/jstests/core/fts4.js @@ -12,7 +12,7 @@ t.drop(); t.save({_id: 1, x: ["az", "b", "x"], y: ["c", "d", "m"], z: 1}); t.save({_id: 2, x: ["c", "d", "y"], y: ["az", "b", "n"], z: 2}); -t.ensureIndex({y: "text", z: 1}, {weights: {x: 10}}); +t.createIndex({y: "text", z: 1}, {weights: {x: 10}}); assert.eq([1, 2], queryIDS(t, "az"), "A1"); assert.eq([2, 1], queryIDS(t, "d"), "A2"); diff --git a/jstests/core/fts5.js b/jstests/core/fts5.js index 99cd6ce84bb..aa689a46ed9 100644 --- a/jstests/core/fts5.js +++ b/jstests/core/fts5.js @@ -12,7 +12,7 @@ t.drop(); t.save({_id: 1, x: [{a: "az"}, {a: "b"}, {a: "x"}], y: ["c", "d", "m"], z: 1}); t.save({_id: 2, x: [{a: "c"}, {a: "d"}, {a: "y"}], y: ["az", "b", "n"], z: 2}); -t.ensureIndex({y: "text", z: 1}, {weights: {"x.a": 10}}); +t.createIndex({y: "text", z: 1}, {weights: {"x.a": 10}}); assert.eq([1, 2], queryIDS(t, "az"), "A1"); assert.eq([2, 1], queryIDS(t, "d"), "A2"); diff --git a/jstests/core/fts6.js b/jstests/core/fts6.js index 7216fc728e9..ab757b81d59 100644 --- a/jstests/core/fts6.js +++ b/jstests/core/fts6.js @@ -7,8 +7,8 @@ var t = db.jstests_fts6; t.drop(); -t.ensureIndex({a: 1}); -t.ensureIndex({b: "text"}); +t.createIndex({a: 1}); +t.createIndex({b: "text"}); t.save({_id: 1, a: 0}); t.save({_id: 2, a: 0, b: "foo"}); diff --git a/jstests/core/fts_blog.js b/jstests/core/fts_blog.js index cdaba7860fc..2b0fe26e095 100644 --- a/jstests/core/fts_blog.js +++ b/jstests/core/fts_blog.js @@ -10,7 +10,7 @@ t.save({_id: 3, title: "knives are Fun", text: "this is a new blog i am writing. // @tags: [ // sbe_incompatible, // ] -t.ensureIndex({"title": "text", text: "text"}, {weights: {title: 10}}); +t.createIndex({"title": "text", text: "text"}, {weights: {title: 10}}); res = t.find({"$text": {"$search": "blog"}}, {score: {"$meta": "textScore"}}).sort({ score: {"$meta": "textScore"} diff --git a/jstests/core/fts_blogwild.js b/jstests/core/fts_blogwild.js index 207fea471c1..881c486edad 100644 --- a/jstests/core/fts_blogwild.js +++ b/jstests/core/fts_blogwild.js @@ -18,7 +18,7 @@ t.save({ // default weight is 1 // specify weights if you want a field to be more meaningull -t.ensureIndex({dummy: "text"}, {weights: "$**"}); +t.createIndex({dummy: "text"}, {weights: "$**"}); res = t.find({"$text": {"$search": "blog"}}); assert.eq(3, res.length(), "A1"); @@ -29,7 +29,7 @@ assert.eq(3, res.length(), "B1"); // mixing t.dropIndex("dummy_text"); assert.eq(1, t.getIndexKeys().length, "C1"); -t.ensureIndex({dummy: "text"}, {weights: {"$**": 1, title: 2}}); +t.createIndex({dummy: "text"}, {weights: {"$**": 1, title: 2}}); res = t.find({"$text": {"$search": "write"}}, {score: {"$meta": "textScore"}}).sort({ score: {"$meta": "textScore"} diff --git a/jstests/core/fts_casesensitive.js b/jstests/core/fts_casesensitive.js index 191631a6ac0..b4a730a46b5 100644 --- a/jstests/core/fts_casesensitive.js +++ b/jstests/core/fts_casesensitive.js @@ -9,7 +9,7 @@ var coll = db.fts_casesensitive; coll.drop(); assert.commandWorked(coll.insert({_id: 0, a: "The Quick Brown Fox Jumps Over The Lazy Dog"})); -assert.commandWorked(coll.ensureIndex({a: "text"})); +assert.commandWorked(coll.createIndex({a: "text"})); assert.throws(function() { queryIDS(coll, "hello", null, {$caseSensitive: "invalid"}); diff --git a/jstests/core/fts_diacritic_and_caseinsensitive.js b/jstests/core/fts_diacritic_and_caseinsensitive.js index 107ff447ec9..1b8a2d0d1e0 100644 --- a/jstests/core/fts_diacritic_and_caseinsensitive.js +++ b/jstests/core/fts_diacritic_and_caseinsensitive.js @@ -14,7 +14,7 @@ coll.drop(); assert.commandWorked(coll.insert( {_id: 0, a: "O próximo Vôo à Noite sobre o Atlântico, Põe Freqüentemente o único Médico."})); -assert.commandWorked(coll.ensureIndex({a: "text"}, {default_language: "portuguese"})); +assert.commandWorked(coll.createIndex({a: "text"}, {default_language: "portuguese"})); assert.eq([0], queryIDS(coll, "proximo voo a", null)); assert.eq([0], queryIDS(coll, "átlántico", null)); diff --git a/jstests/core/fts_diacritic_and_casesensitive.js b/jstests/core/fts_diacritic_and_casesensitive.js index 0f0e63feca4..124ec9c092d 100644 --- a/jstests/core/fts_diacritic_and_casesensitive.js +++ b/jstests/core/fts_diacritic_and_casesensitive.js @@ -15,7 +15,7 @@ coll.drop(); assert.commandWorked(coll.insert( {_id: 0, a: "O próximo Vôo à Noite sobre o Atlântico, Põe Freqüentemente o único Médico."})); -assert.commandWorked(coll.ensureIndex({a: "text"}, {default_language: "portuguese"})); +assert.commandWorked(coll.createIndex({a: "text"}, {default_language: "portuguese"})); assert.eq([0], queryIDS(coll, "próximo vôo à ", null, {$diacriticSensitive: true, $caseSensitive: true})); diff --git a/jstests/core/fts_diacriticsensitive.js b/jstests/core/fts_diacriticsensitive.js index 4440e587ed7..2396860e0db 100644 --- a/jstests/core/fts_diacriticsensitive.js +++ b/jstests/core/fts_diacriticsensitive.js @@ -14,7 +14,7 @@ coll.drop(); assert.commandWorked(coll.insert( {_id: 0, a: "O próximo vôo à noite sobre o Atlântico, põe freqüentemente o único médico."})); -assert.commandWorked(coll.ensureIndex({a: "text"}, {default_language: "portuguese"})); +assert.commandWorked(coll.createIndex({a: "text"}, {default_language: "portuguese"})); assert.throws(function() { queryIDS(coll, "hello", null, {$diacriticSensitive: "invalid"}); diff --git a/jstests/core/fts_explain.js b/jstests/core/fts_explain.js index 1f1f0a0e55b..9b87cedcc51 100644 --- a/jstests/core/fts_explain.js +++ b/jstests/core/fts_explain.js @@ -14,7 +14,7 @@ const coll = db.fts_explain; let res; coll.drop(); -res = coll.ensureIndex({content: "text"}, {default_language: "none"}); +res = coll.createIndex({content: "text"}, {default_language: "none"}); assert.commandWorked(res); res = coll.insert({content: "some data"}); diff --git a/jstests/core/fts_index.js b/jstests/core/fts_index.js index a41ea5a8dab..3080534c434 100644 --- a/jstests/core/fts_index.js +++ b/jstests/core/fts_index.js @@ -27,7 +27,7 @@ coll.getDB().createCollection(coll.getName()); // // Spec passes text-specific index validation. -assert.commandWorked(coll.ensureIndex({a: "text"}, {name: indexName, default_language: "spanish"})); +assert.commandWorked(coll.createIndex({a: "text"}, {name: indexName, default_language: "spanish"})); assert.eq(1, coll.getIndexes() .filter(function(z) { @@ -38,7 +38,7 @@ coll.dropIndexes(); // Spec fails text-specific index validation ("spanglish" unrecognized). assert.commandFailed( - coll.ensureIndex({a: "text"}, {name: indexName, default_language: "spanglish"})); + coll.createIndex({a: "text"}, {name: indexName, default_language: "spanglish"})); assert.eq(0, coll.getIndexes() .filter(function(z) { @@ -48,7 +48,7 @@ assert.eq(0, coll.dropIndexes(); // Spec passes general index validation. -assert.commandWorked(coll.ensureIndex({"$**": "text"}, {name: indexName})); +assert.commandWorked(coll.createIndex({"$**": "text"}, {name: indexName})); assert.eq(1, coll.getIndexes() .filter(function(z) { @@ -58,7 +58,7 @@ assert.eq(1, coll.dropIndexes(); // Spec fails general index validation ("a.$**" invalid field name for key). -assert.commandFailed(coll.ensureIndex({"a.$**": "text"}, {name: indexName})); +assert.commandFailed(coll.createIndex({"a.$**": "text"}, {name: indexName})); assert.eq(0, coll.getIndexes() .filter(function(z) { @@ -68,7 +68,7 @@ assert.eq(0, coll.dropIndexes(); // SERVER-19519 Spec fails if '_fts' is specified on a non-text index. -assert.commandFailed(coll.ensureIndex({_fts: 1}, {name: indexName})); +assert.commandFailed(coll.createIndex({_fts: 1}, {name: indexName})); assert.eq(0, coll.getIndexes() .filter(function(z) { @@ -76,7 +76,7 @@ assert.eq(0, }) .length); coll.dropIndexes(); -assert.commandFailed(coll.ensureIndex({_fts: "text"}, {name: indexName})); +assert.commandFailed(coll.createIndex({_fts: "text"}, {name: indexName})); assert.eq(0, coll.getIndexes() .filter(function(z) { @@ -92,22 +92,22 @@ coll.dropIndexes(); // Can create a text index on a collection where no documents have invalid language_override. coll.insert({a: ""}); coll.insert({a: "", language: "spanish"}); -assert.commandWorked(coll.ensureIndex({a: "text"})); +assert.commandWorked(coll.createIndex({a: "text"})); coll.drop(); // Can't create a text index on a collection containing document with an invalid language_override. coll.insert({a: "", language: "spanglish"}); -assert.commandFailed(coll.ensureIndex({a: "text"})); +assert.commandFailed(coll.createIndex({a: "text"})); coll.drop(); // Can insert documents with valid language_override into text-indexed collection. -assert.commandWorked(coll.ensureIndex({a: "text"})); +assert.commandWorked(coll.createIndex({a: "text"})); coll.insert({a: ""}); assert.commandWorked(coll.insert({a: "", language: "spanish"})); coll.drop(); // Can't insert documents with invalid language_override into text-indexed collection. -assert.commandWorked(coll.ensureIndex({a: "text"})); +assert.commandWorked(coll.createIndex({a: "text"})); assert.writeError(coll.insert({a: "", language: "spanglish"})); coll.drop(); @@ -115,69 +115,69 @@ coll.drop(); // 3. Collections may have at most one text index. // -// ensureIndex() becomes a no-op on an equivalent index spec. +// createIndex() becomes a no-op on an equivalent index spec. assert.commandWorked(coll.getDB().createCollection(coll.getName())); assert.eq(1, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({a: 1, b: "text", c: 1})); +assert.commandWorked(coll.createIndex({a: 1, b: "text", c: 1})); assert.eq(2, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({a: 1, b: "text", c: 1})); +assert.commandWorked(coll.createIndex({a: 1, b: "text", c: 1})); assert.eq(2, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({a: 1, b: "text", c: 1}, {background: true})); +assert.commandWorked(coll.createIndex({a: 1, b: "text", c: 1}, {background: true})); assert.eq(2, coll.getIndexes().length); -assert.commandFailedWithCode(coll.ensureIndex({a: 1, b: 1, c: "text"}), +assert.commandFailedWithCode(coll.createIndex({a: 1, b: 1, c: "text"}), ErrorCodes.CannotCreateIndex); assert.commandFailedWithCode( - coll.ensureIndex({a: 1, _fts: "text", _ftsx: 1, c: 1}, {weights: {b: 1}}), + coll.createIndex({a: 1, _fts: "text", _ftsx: 1, c: 1}, {weights: {b: 1}}), ErrorCodes.IndexOptionsConflict); assert.eq(2, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({a: 1, b: "text", c: 1}, {default_language: "english"})); +assert.commandWorked(coll.createIndex({a: 1, b: "text", c: 1}, {default_language: "english"})); assert.eq(2, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({a: 1, b: "text", c: 1}, {textIndexVersion: 2})); +assert.commandWorked(coll.createIndex({a: 1, b: "text", c: 1}, {textIndexVersion: 2})); assert.eq(2, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({a: 1, b: "text", c: 1}, {language_override: "language"})); +assert.commandWorked(coll.createIndex({a: 1, b: "text", c: 1}, {language_override: "language"})); assert.eq(2, coll.getIndexes().length); coll.drop(); // Two index specs are also considered equivalent if they differ only in 'textIndexVersion', and -// ensureIndex() becomes a no-op on repeated requests that only differ in this way. +// createIndex() becomes a no-op on repeated requests that only differ in this way. assert.commandWorked(coll.getDB().createCollection(coll.getName())); assert.eq(1, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({a: "text"}, {textIndexVersion: 1})); +assert.commandWorked(coll.createIndex({a: "text"}, {textIndexVersion: 1})); assert.eq(2, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({a: "text"}, {textIndexVersion: 2})); +assert.commandWorked(coll.createIndex({a: "text"}, {textIndexVersion: 2})); assert.eq(2, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({a: "text"}, {textIndexVersion: 3})); +assert.commandWorked(coll.createIndex({a: "text"}, {textIndexVersion: 3})); assert.eq(2, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({a: "text"})); +assert.commandWorked(coll.createIndex({a: "text"})); assert.eq(2, coll.getIndexes().length); coll.drop(); assert.commandWorked(coll.getDB().createCollection(coll.getName())); assert.eq(1, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({a: "text"}, {textIndexVersion: 3})); +assert.commandWorked(coll.createIndex({a: "text"}, {textIndexVersion: 3})); assert.eq(2, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({a: "text"}, {textIndexVersion: 2})); +assert.commandWorked(coll.createIndex({a: "text"}, {textIndexVersion: 2})); assert.eq(2, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({a: "text"}, {textIndexVersion: 1})); +assert.commandWorked(coll.createIndex({a: "text"}, {textIndexVersion: 1})); assert.eq(2, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({a: "text"})); +assert.commandWorked(coll.createIndex({a: "text"})); assert.eq(2, coll.getIndexes().length); coll.drop(); -// ensureIndex() fails if a second text index would be built. +// createIndex() fails if a second text index would be built. assert.commandWorked(coll.getDB().createCollection(coll.getName())); assert.eq(1, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({a: 1, b: "text", c: 1})); -assert.eq(2, coll.getIndexes().length); -assert.commandFailed(coll.ensureIndex({a: 1, _fts: "text", _ftsx: 1, c: 1}, {weights: {d: 1}})); -assert.commandFailed(coll.ensureIndex({a: 1, b: "text", c: 1}, {default_language: "none"})); -assert.commandFailed(coll.ensureIndex({a: 1, b: "text", c: 1}, {language_override: "idioma"})); -assert.commandFailed(coll.ensureIndex({a: 1, b: "text", c: 1}, {weights: {d: 1}})); -assert.commandFailed(coll.ensureIndex({a: 1, b: "text", d: 1})); -assert.commandFailed(coll.ensureIndex({a: 1, d: "text", c: 1})); -assert.commandFailed(coll.ensureIndex({b: "text"})); -assert.commandFailed(coll.ensureIndex({b: "text", c: 1})); -assert.commandFailed(coll.ensureIndex({a: 1, b: "text"})); +assert.commandWorked(coll.createIndex({a: 1, b: "text", c: 1})); +assert.eq(2, coll.getIndexes().length); +assert.commandFailed(coll.createIndex({a: 1, _fts: "text", _ftsx: 1, c: 1}, {weights: {d: 1}})); +assert.commandFailed(coll.createIndex({a: 1, b: "text", c: 1}, {default_language: "none"})); +assert.commandFailed(coll.createIndex({a: 1, b: "text", c: 1}, {language_override: "idioma"})); +assert.commandFailed(coll.createIndex({a: 1, b: "text", c: 1}, {weights: {d: 1}})); +assert.commandFailed(coll.createIndex({a: 1, b: "text", d: 1})); +assert.commandFailed(coll.createIndex({a: 1, d: "text", c: 1})); +assert.commandFailed(coll.createIndex({b: "text"})); +assert.commandFailed(coll.createIndex({b: "text", c: 1})); +assert.commandFailed(coll.createIndex({a: 1, b: "text"})); coll.dropIndexes(); @@ -185,7 +185,7 @@ coll.dropIndexes(); // 4. Text indexes properly handle large keys. // -assert.commandWorked(coll.ensureIndex({a: "text"})); +assert.commandWorked(coll.createIndex({a: "text"})); var longstring = ""; var longstring2 = ""; @@ -201,7 +201,7 @@ coll.dropIndexes(); // // 5. Bad weights test cases. // -assert.commandFailed(coll.ensureIndex({a: 1, _fts: "text", _ftsx: 1, c: 1}, {weights: {}})); -assert.commandFailed(coll.ensureIndex({a: 1, _fts: "text", _ftsx: 1, c: 1})); +assert.commandFailed(coll.createIndex({a: 1, _fts: "text", _ftsx: 1, c: 1}, {weights: {}})); +assert.commandFailed(coll.createIndex({a: 1, _fts: "text", _ftsx: 1, c: 1})); coll.drop(); diff --git a/jstests/core/fts_index2.js b/jstests/core/fts_index2.js index 1c8454002a7..3ae6e45214e 100644 --- a/jstests/core/fts_index2.js +++ b/jstests/core/fts_index2.js @@ -14,7 +14,7 @@ coll1.drop(); coll2.drop(); assert.commandWorked(coll1.insert({a: {b: "some content"}})); -assert.commandWorked(coll1.ensureIndex({"$**": "text"})); +assert.commandWorked(coll1.createIndex({"$**": "text"})); assert.eq(1, coll1.count({$text: {$search: "content"}})); // Rename within same database. diff --git a/jstests/core/fts_index3.js b/jstests/core/fts_index3.js index 02bd9559591..0f57c7a9d80 100644 --- a/jstests/core/fts_index3.js +++ b/jstests/core/fts_index3.js @@ -12,7 +12,7 @@ var coll = db.fts_index3; // 1) Create a text index on a single field, insert a document, update the value of the field, and // verify that $text with the new value returns the document. coll.drop(); -assert.commandWorked(coll.ensureIndex({a: "text"})); +assert.commandWorked(coll.createIndex({a: "text"})); assert.commandWorked(coll.insert({a: "hello"})); assert.eq(1, coll.find({$text: {$search: "hello"}}).itcount()); assert.commandWorked(coll.update({}, {$set: {a: "world"}})); @@ -21,7 +21,7 @@ assert.eq(1, coll.find({$text: {$search: "world"}}).itcount()); // 2) Same as #1, but with a wildcard text index. coll.drop(); -assert.commandWorked(coll.ensureIndex({"$**": "text"})); +assert.commandWorked(coll.createIndex({"$**": "text"})); assert.commandWorked(coll.insert({a: "hello"})); assert.eq(1, coll.find({$text: {$search: "hello"}}).itcount()); assert.commandWorked(coll.update({}, {$set: {a: "world"}})); @@ -31,7 +31,7 @@ assert.eq(1, coll.find({$text: {$search: "world"}}).itcount()); // 3) Create a compound text index with an index prefix, insert a document, update the value of the // index prefix field, and verify that $text with the new value returns the document. coll.drop(); -assert.commandWorked(coll.ensureIndex({a: 1, b: "text"})); +assert.commandWorked(coll.createIndex({a: 1, b: "text"})); assert.commandWorked(coll.insert({a: 1, b: "hello"})); assert.eq(1, coll.find({a: 1, $text: {$search: "hello"}}).itcount()); assert.commandWorked(coll.update({}, {$set: {a: 2}})); @@ -40,7 +40,7 @@ assert.eq(1, coll.find({a: 2, $text: {$search: "hello"}}).itcount()); // 4) Same as #3, but with a wildcard text index. coll.drop(); -assert.commandWorked(coll.ensureIndex({a: 1, "$**": "text"})); +assert.commandWorked(coll.createIndex({a: 1, "$**": "text"})); assert.commandWorked(coll.insert({a: 1, b: "hello"})); assert.eq(1, coll.find({a: 1, $text: {$search: "hello"}}).itcount()); assert.commandWorked(coll.update({}, {$set: {a: 2}})); @@ -50,7 +50,7 @@ assert.eq(1, coll.find({a: 2, $text: {$search: "hello"}}).itcount()); // 5) Create a compound text index with an index suffix, insert a document, update the value of the // index suffix field, and verify that $text with the new value returns the document. coll.drop(); -assert.commandWorked(coll.ensureIndex({a: "text", b: 1})); +assert.commandWorked(coll.createIndex({a: "text", b: 1})); assert.commandWorked(coll.insert({a: "hello", b: 1})); assert.eq(1, coll.find({b: 1, $text: {$search: "hello"}}).itcount()); assert.commandWorked(coll.update({}, {$set: {b: 2}})); @@ -59,7 +59,7 @@ assert.eq(1, coll.find({b: 2, $text: {$search: "hello"}}).itcount()); // 6) Same as #5, but with a wildcard text index. coll.drop(); -assert.commandWorked(coll.ensureIndex({"$**": "text", b: 1})); +assert.commandWorked(coll.createIndex({"$**": "text", b: 1})); assert.commandWorked(coll.insert({a: "hello", b: 1})); assert.eq(1, coll.find({b: 1, $text: {$search: "hello"}}).itcount()); assert.commandWorked(coll.update({}, {$set: {b: 2}})); @@ -69,7 +69,7 @@ assert.eq(1, coll.find({b: 2, $text: {$search: "hello"}}).itcount()); // 7) Create a text index on a single field, insert a document, update the language of the document // (so as to change the stemming), and verify that $text with the new language returns the document. coll.drop(); -assert.commandWorked(coll.ensureIndex({a: "text"})); +assert.commandWorked(coll.createIndex({a: "text"})); assert.commandWorked(coll.insert({a: "testing", language: "es"})); assert.eq(1, coll.find({$text: {$search: "testing", $language: "es"}}).itcount()); assert.eq(0, coll.find({$text: {$search: "testing", $language: "en"}}).itcount()); @@ -79,7 +79,7 @@ assert.eq(1, coll.find({$text: {$search: "testing", $language: "en"}}).itcount() // 8) Same as #7, but with a wildcard text index. coll.drop(); -assert.commandWorked(coll.ensureIndex({"$**": "text"})); +assert.commandWorked(coll.createIndex({"$**": "text"})); assert.commandWorked(coll.insert({a: "testing", language: "es"})); assert.eq(1, coll.find({$text: {$search: "testing", $language: "es"}}).itcount()); assert.eq(0, coll.find({$text: {$search: "testing", $language: "en"}}).itcount()); @@ -91,7 +91,7 @@ assert.eq(1, coll.find({$text: {$search: "testing", $language: "en"}}).itcount() // subdocument (so as to change the stemming), and verify that $text with the new language returns // the document. coll.drop(); -assert.commandWorked(coll.ensureIndex({"a.b": "text"})); +assert.commandWorked(coll.createIndex({"a.b": "text"})); assert.commandWorked(coll.insert({a: {b: "testing", language: "es"}})); assert.eq(1, coll.find({$text: {$search: "testing", $language: "es"}}).itcount()); assert.eq(0, coll.find({$text: {$search: "testing", $language: "en"}}).itcount()); @@ -101,7 +101,7 @@ assert.eq(1, coll.find({$text: {$search: "testing", $language: "en"}}).itcount() // 10) Same as #9, but with a wildcard text index. coll.drop(); -assert.commandWorked(coll.ensureIndex({"$**": "text"})); +assert.commandWorked(coll.createIndex({"$**": "text"})); assert.commandWorked(coll.insert({a: {b: "testing", language: "es"}})); assert.eq(1, coll.find({$text: {$search: "testing", $language: "es"}}).itcount()); assert.eq(0, coll.find({$text: {$search: "testing", $language: "en"}}).itcount()); @@ -113,7 +113,7 @@ assert.eq(1, coll.find({$text: {$search: "testing", $language: "en"}}).itcount() // update the language of the document (so as to change the stemming), and verify that $text with // the new language returns the document. coll.drop(); -assert.commandWorked(coll.ensureIndex({a: "text"}, {language_override: "idioma"})); +assert.commandWorked(coll.createIndex({a: "text"}, {language_override: "idioma"})); assert.commandWorked(coll.insert({a: "testing", idioma: "es"})); assert.eq(1, coll.find({$text: {$search: "testing", $language: "es"}}).itcount()); assert.eq(0, coll.find({$text: {$search: "testing", $language: "en"}}).itcount()); @@ -123,7 +123,7 @@ assert.eq(1, coll.find({$text: {$search: "testing", $language: "en"}}).itcount() // 12) Same as #11, but with a wildcard text index. coll.drop(); -assert.commandWorked(coll.ensureIndex({"$**": "text"}, {language_override: "idioma"})); +assert.commandWorked(coll.createIndex({"$**": "text"}, {language_override: "idioma"})); assert.commandWorked(coll.insert({a: "testing", idioma: "es"})); assert.eq(1, coll.find({$text: {$search: "testing", $language: "es"}}).itcount()); assert.eq(0, coll.find({$text: {$search: "testing", $language: "en"}}).itcount()); diff --git a/jstests/core/fts_index_version1.js b/jstests/core/fts_index_version1.js index 8ae979c7dbe..57b7c7710b6 100644 --- a/jstests/core/fts_index_version1.js +++ b/jstests/core/fts_index_version1.js @@ -3,19 +3,19 @@ var coll = db.fts_index_version1; // Test basic English search. coll.drop(); -assert.commandWorked(coll.ensureIndex({a: "text"}, {textIndexVersion: 1})); +assert.commandWorked(coll.createIndex({a: "text"}, {textIndexVersion: 1})); assert.commandWorked(coll.insert({a: "running"})); assert.eq(1, coll.count({$text: {$search: "run"}})); // Test search with a "language alias" only recognized in textIndexVersion:1 (note that the stopword // machinery doesn't recognize these aliases). coll.drop(); -assert.commandWorked(coll.ensureIndex({a: "text"}, {default_language: "eng", textIndexVersion: 1})); +assert.commandWorked(coll.createIndex({a: "text"}, {default_language: "eng", textIndexVersion: 1})); assert.commandWorked(coll.insert({a: "running"})); assert.eq(1, coll.count({$text: {$search: "run"}})); // Test that textIndexVersion:1 indexes ignore subdocument language annotations. coll.drop(); -assert.commandWorked(coll.ensureIndex({"a.b": "text"}, {textIndexVersion: 1})); +assert.commandWorked(coll.createIndex({"a.b": "text"}, {textIndexVersion: 1})); assert.commandWorked(coll.insert({language: "none", a: {language: "english", b: "the"}})); assert.eq(1, coll.count({$text: {$search: "the", $language: "none"}})); diff --git a/jstests/core/fts_index_version2.js b/jstests/core/fts_index_version2.js index 10f803f30c6..1e579ba12cb 100644 --- a/jstests/core/fts_index_version2.js +++ b/jstests/core/fts_index_version2.js @@ -15,7 +15,7 @@ assert.commandWorked(coll.insert( {_id: 0, a: "O próximo Vôo à Noite sobre o Atlântico, Põe Freqüentemente o único Médico."})); assert.commandWorked( - coll.ensureIndex({a: "text"}, {default_language: "portuguese", textIndexVersion: 2})); + coll.createIndex({a: "text"}, {default_language: "portuguese", textIndexVersion: 2})); assert.eq([0], queryIDS(coll, "próximo vôo à ", null)); assert.eq([0], queryIDS(coll, "atlântico", null)); diff --git a/jstests/core/fts_mix.js b/jstests/core/fts_mix.js index abfdcc6aefd..cdaaf1d17ff 100644 --- a/jstests/core/fts_mix.js +++ b/jstests/core/fts_mix.js @@ -77,7 +77,7 @@ tc.save({ // -------------------------------------------- INDEXING & WEIGHTING ------------------------------- // start with basic index, one item with default weight -tc.ensureIndex({"title": "text"}); +tc.createIndex({"title": "text"}); // test the single result case.. res = tc.find({"$text": {"$search": "Victoria"}}); @@ -87,19 +87,19 @@ assert.eq(10, res[0]._id); tc.dropIndexes(); // now let's see about multiple fields, with specific weighting -tc.ensureIndex({"title": "text", "text": "text"}, {weights: {"title": 10}}); +tc.createIndex({"title": "text", "text": "text"}, {weights: {"title": 10}}); assert(resultsEq([9, 7, 8], queryIDS(tc, "members physics"))); tc.dropIndexes(); // test all-1 weighting with "$**" -tc.ensureIndex({"$**": "text"}); +tc.createIndex({"$**": "text"}); assert(resultsEq([2, 8, 7], queryIDS(tc, "family tea estate"))); tc.dropIndexes(); // non-1 weight on "$**" + other weight specified for some field -tc.ensureIndex({"$**": "text"}, {weights: {"$**": 10, "text": 2}}); +tc.createIndex({"$**": "text"}, {weights: {"$**": 10, "text": 2}}); assert(resultsEq([7, 5], queryIDS(tc, "Olympic Games gold medal"))); tc.dropIndexes(); @@ -108,7 +108,7 @@ tc.dropIndexes(); // ------------------------------------------ // go back to "$**": 1, "title": 10.. and test more specific "search" functionality! -tc.ensureIndex({"$**": "text"}, {weights: {"title": 10}}); +tc.createIndex({"$**": "text"}, {weights: {"title": 10}}); // -------------------------------------------- STEMMING ------------------------------------------- diff --git a/jstests/core/fts_partition1.js b/jstests/core/fts_partition1.js index 055f574baf1..efc148da675 100644 --- a/jstests/core/fts_partition1.js +++ b/jstests/core/fts_partition1.js @@ -13,7 +13,7 @@ t.insert({_id: 2, x: 1, y: "bar"}); t.insert({_id: 3, x: 2, y: "foo"}); t.insert({_id: 4, x: 2, y: "bar"}); -t.ensureIndex({x: 1, y: "text"}); +t.createIndex({x: 1, y: "text"}); assert.throws(function() { const cursor = t.find({"$text": {"$search": "foo"}}); diff --git a/jstests/core/fts_partition_no_multikey.js b/jstests/core/fts_partition_no_multikey.js index af28380a804..b819c3abfbd 100644 --- a/jstests/core/fts_partition_no_multikey.js +++ b/jstests/core/fts_partition_no_multikey.js @@ -1,7 +1,7 @@ t = db.fts_partition_no_multikey; t.drop(); -t.ensureIndex({x: 1, y: "text"}); +t.createIndex({x: 1, y: "text"}); assert.commandWorked(t.insert({x: 5, y: "this is fun"})); diff --git a/jstests/core/fts_phrase.js b/jstests/core/fts_phrase.js index eae0a1c268d..dfe9d3692af 100644 --- a/jstests/core/fts_phrase.js +++ b/jstests/core/fts_phrase.js @@ -11,7 +11,7 @@ t.save({_id: 1, title: "my blog post", text: "i am writing a blog. yay"}); t.save({_id: 2, title: "my 2nd post", text: "this is a new blog i am typing. yay"}); t.save({_id: 3, title: "knives are Fun", text: "this is a new blog i am writing. yay"}); -t.ensureIndex({"title": "text", text: "text"}, {weights: {title: 10}}); +t.createIndex({"title": "text", text: "text"}, {weights: {title: 10}}); res = t.find({"$text": {"$search": "blog write"}}, {score: {"$meta": "textScore"}}).sort({ score: {"$meta": "textScore"} diff --git a/jstests/core/geo1.js b/jstests/core/geo1.js index 7917799377e..8a80f59d692 100644 --- a/jstests/core/geo1.js +++ b/jstests/core/geo1.js @@ -19,10 +19,10 @@ assert.commandWorked(t.insert({zip: "94061", loc: [37.463911, 122.23396]})); // test "2d" has to be first assert.eq(1, t.getIndexKeys().length, "S1"); -t.ensureIndex({zip: 1, loc: "2d"}); +t.createIndex({zip: 1, loc: "2d"}); assert.eq(1, t.getIndexKeys().length, "S2"); -t.ensureIndex(idx); +t.createIndex(idx); assert.eq(2, t.getIndexKeys().length, "S3"); assert.eq(3, t.count(), "B1"); @@ -42,5 +42,5 @@ assert.eq("06525", t.find({loc: wb.loc})[0].zip, "C3"); t.drop(); -t.ensureIndex({loc: "2d"}, {min: -500, max: 500, bits: 4}); +t.createIndex({loc: "2d"}, {min: -500, max: 500, bits: 4}); assert.commandWorked(t.insert({loc: [200, 200]})); diff --git a/jstests/core/geo10.js b/jstests/core/geo10.js index c33f90cdfbd..b330ce52911 100644 --- a/jstests/core/geo10.js +++ b/jstests/core/geo10.js @@ -10,7 +10,7 @@ coll = db.geo10; coll.drop(); -assert.commandWorked(db.geo10.ensureIndex({c: '2d', t: 1}, {min: 0, max: Math.pow(2, 40)})); +assert.commandWorked(db.geo10.createIndex({c: '2d', t: 1}, {min: 0, max: Math.pow(2, 40)})); assert.eq(2, db.geo10.getIndexes().length, "A3"); assert.commandWorked(db.geo10.insert({c: [1, 1], t: 1})); diff --git a/jstests/core/geo2.js b/jstests/core/geo2.js index 01a4c467339..b0552e2f773 100644 --- a/jstests/core/geo2.js +++ b/jstests/core/geo2.js @@ -18,7 +18,7 @@ t.insert(arr); assert.eq(t.count(), 100 * 100); assert.eq(t.count(), n - 1); -t.ensureIndex({loc: "2d"}); +t.createIndex({loc: "2d"}); function a(cur) { var total = 0; diff --git a/jstests/core/geo3.js b/jstests/core/geo3.js index e75c9b14245..40a3d9a5e75 100644 --- a/jstests/core/geo3.js +++ b/jstests/core/geo3.js @@ -19,7 +19,7 @@ t.insert(arr); assert.eq(t.count(), 100 * 100); assert.eq(t.count(), n - 1); -t.ensureIndex({loc: "2d"}); +t.createIndex({loc: "2d"}); // Test the "query" parameter in $geoNear. @@ -52,7 +52,7 @@ function testFiltering(msg) { testFiltering("just loc"); assert.commandWorked(t.dropIndex({loc: "2d"})); -assert.commandWorked(t.ensureIndex({loc: "2d", a: 1})); +assert.commandWorked(t.createIndex({loc: "2d", a: 1})); res = t.aggregate([ {$geoNear: {near: [50, 50], distanceField: "dist", query: {a: 2}}}, @@ -64,7 +64,7 @@ res.forEach(doc => assert.eq(2, doc.a, tojson(doc))); testFiltering("loc and a"); assert.commandWorked(t.dropIndex({loc: "2d", a: 1})); -assert.commandWorked(t.ensureIndex({loc: "2d", b: 1})); +assert.commandWorked(t.createIndex({loc: "2d", b: 1})); testFiltering("loc and b"); diff --git a/jstests/core/geo6.js b/jstests/core/geo6.js index d6b43771b2c..0ee06508ea2 100644 --- a/jstests/core/geo6.js +++ b/jstests/core/geo6.js @@ -6,7 +6,7 @@ t = db.geo6; t.drop(); -t.ensureIndex({loc: "2d"}); +t.createIndex({loc: "2d"}); assert.eq(0, t.find().itcount(), "pre0"); assert.eq(0, t.find({loc: {$near: [50, 50]}}).itcount(), "pre1"); diff --git a/jstests/core/geo7.js b/jstests/core/geo7.js index 4316c8d6c03..9d1b7f574ca 100644 --- a/jstests/core/geo7.js +++ b/jstests/core/geo7.js @@ -6,13 +6,13 @@ t.insert({_id: 2, y: [1, 1], z: 3}); t.insert({_id: 3, y: [1, 1], z: 4}); t.insert({_id: 4, y: [1, 1], z: 5}); -t.ensureIndex({y: "2d", z: 1}); +t.createIndex({y: "2d", z: 1}); assert.eq(1, t.find({y: [1, 1], z: 3}).itcount(), "A1"); t.dropIndex({y: "2d", z: 1}); -t.ensureIndex({y: "2d"}); +t.createIndex({y: "2d"}); assert.eq(1, t.find({y: [1, 1], z: 3}).itcount(), "A2"); t.insert({_id: 5, y: 5}); diff --git a/jstests/core/geo9.js b/jstests/core/geo9.js index eacd30f9a6d..4204c842987 100644 --- a/jstests/core/geo9.js +++ b/jstests/core/geo9.js @@ -14,8 +14,8 @@ t.save({_id: 4, a: [50, 50], b: [10, 10]}); t.save({_id: 5, a: [51, 51], b: [11, 11]}); t.save({_id: 6, a: [52, 52], b: [12, 12]}); -t.ensureIndex({a: "2d"}); -t.ensureIndex({b: "2d"}); +t.createIndex({a: "2d"}); +t.createIndex({b: "2d"}); function check(field) { var q = {}; diff --git a/jstests/core/geo_2d_explain.js b/jstests/core/geo_2d_explain.js index 370ef47e708..109c5618795 100644 --- a/jstests/core/geo_2d_explain.js +++ b/jstests/core/geo_2d_explain.js @@ -13,7 +13,7 @@ var n = 1000; // insert n documents with integer _id, a can be 1-5, loc is close to [40, 40] t.drop(); -t.ensureIndex({loc: "2d", _id: 1}); +t.createIndex({loc: "2d", _id: 1}); var x = 40; var y = 40; diff --git a/jstests/core/geo_2d_with_geojson_point.js b/jstests/core/geo_2d_with_geojson_point.js index bb35fccd9da..3930f3c2c96 100644 --- a/jstests/core/geo_2d_with_geojson_point.js +++ b/jstests/core/geo_2d_with_geojson_point.js @@ -4,7 +4,7 @@ var t = db.geo_2d_with_geojson_point; t.drop(); -t.ensureIndex({loc: '2d'}); +t.createIndex({loc: '2d'}); var geoJSONPoint = {type: 'Point', coordinates: [0, 0]}; diff --git a/jstests/core/geo_allowedcomparisons.js b/jstests/core/geo_allowedcomparisons.js index c1ef4efcba1..01795941533 100644 --- a/jstests/core/geo_allowedcomparisons.js +++ b/jstests/core/geo_allowedcomparisons.js @@ -33,7 +33,7 @@ oldPolygon = [[-5, -5], [-5, 5], [5, 5], [5, -5], [-5, -5]]; oldCenter = [[0, 0], 1]; t.drop(); -t.ensureIndex({geo: "2d"}); +t.createIndex({geo: "2d"}); // 2d doesn't know what to do w/this assert.writeError(t.insert({geo: geojsonPoint})); // Old points are OK. @@ -102,7 +102,7 @@ t.dropIndex({geo: "2d"}); runTests(); // 2dsphere index now. -assert.commandWorked(t.ensureIndex({geo: "2dsphere"})); +assert.commandWorked(t.createIndex({geo: "2dsphere"})); // 2dsphere does not support arrays of points. assert.writeError(t.insert({geo: [geojsonPoint2, geojsonPoint]})); runTests(); diff --git a/jstests/core/geo_array0.js b/jstests/core/geo_array0.js index 0f27de02e49..8a4e81283f8 100644 --- a/jstests/core/geo_array0.js +++ b/jstests/core/geo_array0.js @@ -16,7 +16,7 @@ function test(index) { assert.commandWorked(res); if (index) { - assert.commandWorked(t.ensureIndex({loc: "2d", zip: 1})); + assert.commandWorked(t.createIndex({loc: "2d", zip: 1})); assert.eq(2, t.getIndexKeys().length); } diff --git a/jstests/core/geo_array1.js b/jstests/core/geo_array1.js index 08b6060f3cc..6066ed1dc6f 100644 --- a/jstests/core/geo_array1.js +++ b/jstests/core/geo_array1.js @@ -21,7 +21,7 @@ function test(index) { } if (index) { - t.ensureIndex({loc: "2d"}); + t.createIndex({loc: "2d"}); } // Pull them back diff --git a/jstests/core/geo_array2.js b/jstests/core/geo_array2.js index d2a197891e6..2a7a1303e0c 100644 --- a/jstests/core/geo_array2.js +++ b/jstests/core/geo_array2.js @@ -27,7 +27,7 @@ for (var i = -1; i < 2; i++) { } } -assert.commandWorked(t.ensureIndex({loc: "2d", type: 1})); +assert.commandWorked(t.createIndex({loc: "2d", type: 1})); print("Starting testing phase... "); diff --git a/jstests/core/geo_big_polygon.js b/jstests/core/geo_big_polygon.js index eb2a24ad719..db0d00cf6ff 100644 --- a/jstests/core/geo_big_polygon.js +++ b/jstests/core/geo_big_polygon.js @@ -10,7 +10,7 @@ var coll = db.geo_big_polygon; coll.drop(); -// coll.ensureIndex({ loc : "2dsphere" }); +// coll.createIndex({ loc : "2dsphere" }); var bigCRS = {type: "name", properties: {name: "urn:x-mongodb:crs:strictwinding:EPSG:4326"}}; @@ -56,7 +56,7 @@ assert.eq(coll.find({loc: {$geoIntersects: {$geometry: bigPoly20}}}).count(), 4) assert.eq(coll.find({loc: {$geoWithin: {$geometry: bigPoly20Comp}}}).count(), 1); assert.eq(coll.find({loc: {$geoIntersects: {$geometry: bigPoly20Comp}}}).count(), 2); -assert.commandWorked(coll.ensureIndex({loc: "2dsphere"})); +assert.commandWorked(coll.createIndex({loc: "2dsphere"})); assert.eq(coll.find({loc: {$geoWithin: {$geometry: bigPoly20}}}).count(), 3); assert.eq(coll.find({loc: {$geoIntersects: {$geometry: bigPoly20}}}).count(), 4); @@ -81,11 +81,11 @@ assert.eq(coll.find({loc: {$geoWithin: {$geometry: bigPoly20Comp}}}).count(), 1) assert.eq(coll.find({loc: {$geoIntersects: {$geometry: bigPoly20Comp}}}).count(), 2); // 2. Building index fails due to big polygon -assert.commandFailed(coll.ensureIndex({loc: "2dsphere"})); +assert.commandFailed(coll.createIndex({loc: "2dsphere"})); // 3. After removing big polygon, index builds successfully assert.commandWorked(coll.remove({_id: "bigPoly10"})); -assert.commandWorked(coll.ensureIndex({loc: "2dsphere"})); +assert.commandWorked(coll.createIndex({loc: "2dsphere"})); // 4. With index, insert fails. assert.writeError(coll.insert({_id: "bigPoly10", loc: bigPoly10})); diff --git a/jstests/core/geo_big_polygon2.js b/jstests/core/geo_big_polygon2.js index 80339cb4fed..53e0631e791 100644 --- a/jstests/core/geo_big_polygon2.js +++ b/jstests/core/geo_big_polygon2.js @@ -560,7 +560,7 @@ const nsidedPolys = [ ]; // Populate with 2dsphere index -assert.commandWorked(coll.ensureIndex({geo: "2dsphere"}), "create 2dsphere index"); +assert.commandWorked(coll.createIndex({geo: "2dsphere"}), "create 2dsphere index"); // Insert objects into collection objects.forEach(function(o) { @@ -573,10 +573,10 @@ objects.forEach(function(o) { }); // Try creating other index types -assert.commandWorked(coll.ensureIndex({geo: "2dsphere", a: 1}), "compound index, geo"); +assert.commandWorked(coll.createIndex({geo: "2dsphere", a: 1}), "compound index, geo"); // These other index types will fail because of the GeoJSON documents -assert.commandFailed(coll.ensureIndex({geo: "2dsphere", a: "text"}), "compound index, geo & text"); -assert.commandFailed(coll.ensureIndex({geo: "2d"}), "2d index"); +assert.commandFailed(coll.createIndex({geo: "2dsphere", a: "text"}), "compound index, geo & text"); +assert.commandFailed(coll.createIndex({geo: "2d"}), "2d index"); totalObjects = coll.count(); @@ -589,7 +589,7 @@ indexes.forEach(function(index) { if (index != "none") { // Create index - assert.commandWorked(coll.ensureIndex({geo: index}), "create " + index + " index"); + assert.commandWorked(coll.createIndex({geo: index}), "create " + index + " index"); } // These polygons should not be queryable diff --git a/jstests/core/geo_big_polygon3.js b/jstests/core/geo_big_polygon3.js index a55ce87c3d6..cd4591dd66a 100644 --- a/jstests/core/geo_big_polygon3.js +++ b/jstests/core/geo_big_polygon3.js @@ -63,7 +63,7 @@ var bigPoly = { }; // 2dsphere index required -assert.commandWorked(coll.ensureIndex({geo: "2dsphere"}), "2dsphere index"); +assert.commandWorked(coll.createIndex({geo: "2dsphere"}), "2dsphere index"); // $nearSphere on big polygon should fail assert.throws(function() { @@ -222,7 +222,7 @@ assert.eq(totalDocs, "crs84CRS or epsg4326CRS intersects"); // Add index and look again for stored point & spherical CRS documents -assert.commandWorked(coll.ensureIndex({geo: "2dsphere"}), "2dsphere index"); +assert.commandWorked(coll.createIndex({geo: "2dsphere"}), "2dsphere index"); assert.eq(totalDocs, coll.count({geo: {$geoWithin: {$geometry: poly}}}), diff --git a/jstests/core/geo_borders.js b/jstests/core/geo_borders.js index 8eac710db0f..01989a445bc 100644 --- a/jstests/core/geo_borders.js +++ b/jstests/core/geo_borders.js @@ -24,11 +24,11 @@ overallMax = 1; // Create a point index slightly smaller than the points we have var res = - t.ensureIndex({loc: "2d"}, {max: overallMax - epsilon / 2, min: overallMin + epsilon / 2}); + t.createIndex({loc: "2d"}, {max: overallMax - epsilon / 2, min: overallMin + epsilon / 2}); assert.commandFailed(res); // Create a point index only slightly bigger than the points we have -res = t.ensureIndex({loc: "2d"}, {max: overallMax + epsilon, min: overallMin - epsilon}); +res = t.createIndex({loc: "2d"}, {max: overallMax + epsilon, min: overallMin - epsilon}); assert.commandWorked(res); // ************ diff --git a/jstests/core/geo_box1.js b/jstests/core/geo_box1.js index 300e65c2dc6..28fe85c83cf 100644 --- a/jstests/core/geo_box1.js +++ b/jstests/core/geo_box1.js @@ -14,7 +14,7 @@ for (x = 0; x <= 20; x++) { } } -t.ensureIndex({loc: "2d"}); +t.createIndex({loc: "2d"}); searches = [ [[1, 2], [4, 5]], diff --git a/jstests/core/geo_box2.js b/jstests/core/geo_box2.js index f0f99b15ea0..e4e51ec9e10 100644 --- a/jstests/core/geo_box2.js +++ b/jstests/core/geo_box2.js @@ -14,10 +14,10 @@ for (i = 1; i < 10; i++) { } } -t.ensureIndex({"loc": "2d"}); +t.createIndex({"loc": "2d"}); assert.eq(9, t.find({loc: {$within: {$box: [[4, 4], [6, 6]]}}}).itcount(), "A1"); t.dropIndex({"loc": "2d"}); -t.ensureIndex({"loc": "2d"}, {"min": 0, "max": 10}); +t.createIndex({"loc": "2d"}, {"min": 0, "max": 10}); assert.eq(9, t.find({loc: {$within: {$box: [[4, 4], [6, 6]]}}}).itcount(), "B1"); diff --git a/jstests/core/geo_box3.js b/jstests/core/geo_box3.js index 7f9dd12ea60..4a91ffb0d1d 100644 --- a/jstests/core/geo_box3.js +++ b/jstests/core/geo_box3.js @@ -7,7 +7,7 @@ t = db.geo_box3; t.drop(); t.insert({point: {x: -15000000, y: 10000000}}); -t.ensureIndex({point: "2d"}, {min: -21000000, max: 21000000}); +t.createIndex({point: "2d"}, {min: -21000000, max: 21000000}); var c = t.find({point: {"$within": {"$box": [[-20000000, 7000000], [0, 15000000]]}}}); assert.eq(1, c.count(), "A1"); @@ -15,7 +15,7 @@ assert.eq(1, c.count(), "A1"); t = db.geo_box3; t.drop(); t.insert({point: {x: -15, y: 10}}); -t.ensureIndex({point: "2d"}, {min: -21, max: 21}); +t.createIndex({point: "2d"}, {min: -21, max: 21}); var c = t.find({point: {"$within": {"$box": [[-20, 7], [0, 15]]}}}); assert.eq(1, c.count(), "B1"); @@ -24,13 +24,13 @@ assert.eq(1, c.count(), "B1"); t = db.geo_box3; t.drop(); t.insert({point: {x: 1.0, y: 1.0}}); -t.ensureIndex({point: "2d"}, {min: -2, max: 2}); +t.createIndex({point: "2d"}, {min: -2, max: 2}); var c = t.find({point: {"$within": {"$box": [[.1, .1], [1.99, 1.99]]}}}); assert.eq(1, c.count(), "C1"); t = db.geo_box3; t.drop(); t.insert({point: {x: 3.9, y: 3.9}}); -t.ensureIndex({point: "2d"}, {min: 0, max: 4}); +t.createIndex({point: "2d"}, {min: 0, max: 4}); var c = t.find({point: {"$within": {"$box": [[2.05, 2.05], [3.99, 3.99]]}}}); assert.eq(1, c.count(), "D1"); diff --git a/jstests/core/geo_center_sphere1.js b/jstests/core/geo_center_sphere1.js index df3ea9bb36c..cbef0b4302d 100644 --- a/jstests/core/geo_center_sphere1.js +++ b/jstests/core/geo_center_sphere1.js @@ -45,7 +45,7 @@ function test(index) { assert.commandWorked(bulk.execute()); if (index) { - t.ensureIndex({loc: index}); + t.createIndex({loc: index}); } for (i = 0; i < searches.length; i++) { diff --git a/jstests/core/geo_center_sphere2.js b/jstests/core/geo_center_sphere2.js index 4a263cba259..2b5e8be5cab 100644 --- a/jstests/core/geo_center_sphere2.js +++ b/jstests/core/geo_center_sphere2.js @@ -50,7 +50,7 @@ for (var test = 0; test < numTests; test++) { do { t.drop(); startPoint = randomPoint(); - t.ensureIndex({loc: "2d"}, {bits: bits}); + t.createIndex({loc: "2d"}, {bits: bits}); } while (!pointIsOK(startPoint, radius)); var pointsIn = 0; diff --git a/jstests/core/geo_circle1.js b/jstests/core/geo_circle1.js index 65d2a467eab..0df085bcb4d 100644 --- a/jstests/core/geo_circle1.js +++ b/jstests/core/geo_circle1.js @@ -29,7 +29,7 @@ for (x = 0; x <= 20; x++) { } } -t.ensureIndex({loc: "2d"}); +t.createIndex({loc: "2d"}); for (i = 0; i < searches.length; i++) { // print( tojson( searches[i] ) + "\t" + correct[i].length ) diff --git a/jstests/core/geo_circle2.js b/jstests/core/geo_circle2.js index 30a826b4f27..6be02377259 100644 --- a/jstests/core/geo_circle2.js +++ b/jstests/core/geo_circle2.js @@ -7,7 +7,7 @@ t = db.geo_circle2; t.drop(); -t.ensureIndex({loc: "2d", categories: 1}, {"name": "placesIdx", "min": -100, "max": 100}); +t.createIndex({loc: "2d", categories: 1}, {"name": "placesIdx", "min": -100, "max": 100}); t.insert( {"uid": 368900, "loc": {"x": -36, "y": -8}, "categories": ["sports", "hotel", "restaurant"]}); diff --git a/jstests/core/geo_circle2a.js b/jstests/core/geo_circle2a.js index b084d1027ec..f647bdc82ea 100644 --- a/jstests/core/geo_circle2a.js +++ b/jstests/core/geo_circle2a.js @@ -6,7 +6,7 @@ var coll = db.geo_circle2a; coll.drop(); coll.insert({p: [1112, 3473], t: [{k: 'a', v: 'b'}, {k: 'c', v: 'd'}]}); -coll.ensureIndex({p: '2d', 't.k': 1}, {min: 0, max: 10000}); +coll.createIndex({p: '2d', 't.k': 1}, {min: 0, max: 10000}); // Succeeds, since on direct lookup should not use the index assert(1 == coll.find({p: [1112, 3473], 't.k': 'a'}).count(), "A"); @@ -18,7 +18,7 @@ coll.drop(); coll.insert({point: [1, 10], tags: [{k: 'key', v: 'value'}, {k: 'key2', v: 123}]}); coll.insert({point: [1, 10], tags: [{k: 'key', v: 'value'}]}); -coll.ensureIndex({point: "2d", "tags.k": 1, "tags.v": 1}); +coll.createIndex({point: "2d", "tags.k": 1, "tags.v": 1}); // Succeeds, since should now lookup multi-keys correctly assert(2 == coll.find({point: {$within: {$box: [[0, 0], [12, 12]]}}}).count(), "C"); @@ -31,7 +31,7 @@ coll.drop(); coll.insert({point: [1, 10], tags: [{k: {'hello': 'world'}, v: 'value'}, {k: 'key2', v: 123}]}); coll.insert({point: [1, 10], tags: [{k: 'key', v: 'value'}]}); -coll.ensureIndex({point: "2d", "tags.k": 1, "tags.v": 1}); +coll.createIndex({point: "2d", "tags.k": 1, "tags.v": 1}); // Succeeds, should be able to look up the complex element assert(1 == diff --git a/jstests/core/geo_circle3.js b/jstests/core/geo_circle3.js index 3be564cd180..e931e96783d 100644 --- a/jstests/core/geo_circle3.js +++ b/jstests/core/geo_circle3.js @@ -14,7 +14,7 @@ db.places.save({"_id": n++, "loc": {"x": 4.9999, "y": 52.0001}}); db.places.save({"_id": n++, "loc": {"x": 5.0001, "y": 52.0001}}); db.places.save({"_id": n++, "loc": {"x": 4.9999, "y": 51.9999}}); db.places.save({"_id": n++, "loc": {"x": 5.0001, "y": 51.9999}}); -db.places.ensureIndex({loc: "2d"}); +db.places.createIndex({loc: "2d"}); radius = 0.0001; center = [5, 52]; // print(db.places.find({"loc" : {"$within" : {"$center" : [center, radius]}}}).count()) diff --git a/jstests/core/geo_circle4.js b/jstests/core/geo_circle4.js index 1feb72a2e48..04ce685db38 100644 --- a/jstests/core/geo_circle4.js +++ b/jstests/core/geo_circle4.js @@ -18,7 +18,7 @@ function test(index) { db.server848.save({"_id": 8, "loc": {"x": 4.9999, "y": 51.9999}}); db.server848.save({"_id": 9, "loc": {"x": 5.0001, "y": 51.9999}}); if (index) { - db.server848.ensureIndex({loc: "2d"}); + db.server848.createIndex({loc: "2d"}); } r = db.server848.find({"loc": {"$within": {"$center": [center, radius]}}}, {_id: 1}); assert.eq(5, r.count(), "A1"); diff --git a/jstests/core/geo_circle5.js b/jstests/core/geo_circle5.js index 34b3773ad00..27b973a8ede 100644 --- a/jstests/core/geo_circle5.js +++ b/jstests/core/geo_circle5.js @@ -8,7 +8,7 @@ db.server1238.drop(); db.server1238.remove({}); db.server1238.save({loc: [5000000, 900000], id: 1}); db.server1238.save({loc: [5000000, 900000], id: 2}); -db.server1238.ensureIndex({loc: "2d"}, {min: -21000000, max: 21000000}); +db.server1238.createIndex({loc: "2d"}, {min: -21000000, max: 21000000}); db.server1238.save({loc: [5000000, 900000], id: 3}); db.server1238.save({loc: [5000000, 900000], id: 4}); diff --git a/jstests/core/geo_exactfetch.js b/jstests/core/geo_exactfetch.js index 68ecc9941ae..93b0b7afcda 100644 --- a/jstests/core/geo_exactfetch.js +++ b/jstests/core/geo_exactfetch.js @@ -7,7 +7,7 @@ t.drop(); function test(indexname) { assert.eq(1, t.find({lon_lat: [-71.34895, 42.46037]}).itcount(), indexname); - t.ensureIndex({lon_lat: indexname, population: -1}); + t.createIndex({lon_lat: indexname, population: -1}); assert.eq(2, t.find({lon_lat: {$nearSphere: [-71.34895, 42.46037]}}).itcount(), indexname); assert.eq(1, t.find({lon_lat: [-71.34895, 42.46037]}).itcount(), indexname); t.dropIndex({lon_lat: indexname, population: -1}); diff --git a/jstests/core/geo_fiddly_box.js b/jstests/core/geo_fiddly_box.js index 6c2adbe66c6..9f5a9e8d6c4 100644 --- a/jstests/core/geo_fiddly_box.js +++ b/jstests/core/geo_fiddly_box.js @@ -11,7 +11,7 @@ t = db.geo_fiddly_box; t.drop(); -t.ensureIndex({loc: "2d"}); +t.createIndex({loc: "2d"}); t.insert({"loc": [3, 1]}); t.insert({"loc": [3, 0.5]}); @@ -35,7 +35,7 @@ step = 1; numItems = 0; t.drop(); -t.ensureIndex({loc: "2d"}, {max: max + epsilon / 2, min: min - epsilon / 2}); +t.createIndex({loc: "2d"}, {max: max + epsilon / 2, min: min - epsilon / 2}); for (var x = min; x <= max; x += step) { for (var y = min; y <= max; y += step) { diff --git a/jstests/core/geo_fiddly_box2.js b/jstests/core/geo_fiddly_box2.js index 6a40b5032b5..a0f87203163 100644 --- a/jstests/core/geo_fiddly_box2.js +++ b/jstests/core/geo_fiddly_box2.js @@ -16,18 +16,18 @@ t.insert({"letter": "B", "position": [2, 0]}); t.insert({"letter": "L", "position": [3, 0]}); t.insert({"letter": "E", "position": [4, 0]}); -t.ensureIndex({position: "2d"}); +t.createIndex({position: "2d"}); result = t.find({"position": {"$within": {"$box": [[-3, -1], [0, 1]]}}}); assert.eq(4, result.count()); t.dropIndex({position: "2d"}); -t.ensureIndex({position: "2d"}, {min: -10000000, max: 10000000}); +t.createIndex({position: "2d"}, {min: -10000000, max: 10000000}); result = t.find({"position": {"$within": {"$box": [[-3, -1], [0, 1]]}}}); assert.eq(4, result.count()); t.dropIndex({position: "2d"}); -t.ensureIndex({position: "2d"}, {min: -1000000000, max: 1000000000}); +t.createIndex({position: "2d"}, {min: -1000000000, max: 1000000000}); result = t.find({"position": {"$within": {"$box": [[-3, -1], [0, 1]]}}}); assert.eq(4, result.count()); diff --git a/jstests/core/geo_invalid_2d_params.js b/jstests/core/geo_invalid_2d_params.js index b538d430a66..33419302b47 100644 --- a/jstests/core/geo_invalid_2d_params.js +++ b/jstests/core/geo_invalid_2d_params.js @@ -1,8 +1,8 @@ var t = db.geo_invalid_2d_params; t.drop(); -assert.commandFailed(t.ensureIndex({loc: "2d"}, {bits: 33})); -assert.commandFailed(t.ensureIndex({loc: "2d"}, {min: -1, max: -1})); -assert.commandFailed(t.ensureIndex({loc: "2d"}, {bits: -1})); -assert.commandFailed(t.ensureIndex({loc: "2d"}, {min: 10, max: 9})); -assert.commandWorked(t.ensureIndex({loc: "2d"}, {bits: 1, min: -1, max: 1})); +assert.commandFailed(t.createIndex({loc: "2d"}, {bits: 33})); +assert.commandFailed(t.createIndex({loc: "2d"}, {min: -1, max: -1})); +assert.commandFailed(t.createIndex({loc: "2d"}, {bits: -1})); +assert.commandFailed(t.createIndex({loc: "2d"}, {min: 10, max: 9})); +assert.commandWorked(t.createIndex({loc: "2d"}, {bits: 1, min: -1, max: 1})); diff --git a/jstests/core/geo_mindistance.js b/jstests/core/geo_mindistance.js index 33153e62008..8994892c77d 100644 --- a/jstests/core/geo_mindistance.js +++ b/jstests/core/geo_mindistance.js @@ -56,7 +56,7 @@ for (var x = 0; x <= 10; x += 1) { } } -t.ensureIndex({loc: "2dsphere"}); +t.createIndex({loc: "2dsphere"}); var n_docs = t.count(), geoJSONPoint = {type: 'Point', coordinates: [0, 0]}, legacyPoint = [0, 0]; diff --git a/jstests/core/geo_mindistance_boundaries.js b/jstests/core/geo_mindistance_boundaries.js index 9d556b341ac..7024cfa2ec9 100644 --- a/jstests/core/geo_mindistance_boundaries.js +++ b/jstests/core/geo_mindistance_boundaries.js @@ -9,7 +9,7 @@ t.drop(); t.insert({loc: [1, 0]}); // 1 degree of longitude from origin. /* $minDistance is supported for 2dsphere index only, not 2d */ -t.ensureIndex({loc: "2dsphere"}); +t.createIndex({loc: "2dsphere"}); // // Useful constants. diff --git a/jstests/core/geo_multikey0.js b/jstests/core/geo_multikey0.js index 827dd9a41a1..27075a779ee 100644 --- a/jstests/core/geo_multikey0.js +++ b/jstests/core/geo_multikey0.js @@ -11,7 +11,7 @@ assert.eq( // Check that conflicting constraints are satisfied by parallel array elements with a 2d index on // loc. if (0) { // SERVER-3793 - t.ensureIndex({loc: '2d'}); + t.createIndex({loc: '2d'}); assert.eq( 1, t.count({loc: {x: 20, y: 30}, $and: [{loc: {$gt: {x: 20, y: 35}, $lt: {x: 20, y: 34}}}]})); @@ -26,6 +26,6 @@ assert.eq(1, t.count({loc: [20, 30], x: {$gt: 1.7, $lt: 1.2}})); // Check that conflicting constraints are satisfied by parallel array elements of x with a 2d index // on loc,x. if (0) { // SERVER-3793 - t.ensureIndex({loc: '2d', x: 1}); + t.createIndex({loc: '2d', x: 1}); assert.eq(1, t.count({loc: [20, 30], x: {$gt: 1.7, $lt: 1.2}})); } diff --git a/jstests/core/geo_multikey1.js b/jstests/core/geo_multikey1.js index 9c092f4ec31..e6d0ec086da 100644 --- a/jstests/core/geo_multikey1.js +++ b/jstests/core/geo_multikey1.js @@ -12,7 +12,7 @@ for (i = 0; i < 10; ++i) { t.save({loc: locArr, a: arr, b: arr, c: arr}); // Parallel arrays are allowed for geo indexes. -assert.commandWorked(t.ensureIndex({loc: '2d', a: 1, b: 1, c: 1})); +assert.commandWorked(t.createIndex({loc: '2d', a: 1, b: 1, c: 1})); // Parallel arrays are not allowed for normal indexes. -assert.commandFailed(t.ensureIndex({loc: 1, a: 1, b: 1, c: 1})); +assert.commandFailed(t.createIndex({loc: 1, a: 1, b: 1, c: 1})); diff --git a/jstests/core/geo_multinest0.js b/jstests/core/geo_multinest0.js index 6c0106d70df..b76c18dbd5c 100644 --- a/jstests/core/geo_multinest0.js +++ b/jstests/core/geo_multinest0.js @@ -16,7 +16,7 @@ var res = t.insert({zip: "10003", data: [{loc: [30, 30], type: "home"}, {loc: [50, 50], type: "work"}]}); assert.commandWorked(res); -assert.commandWorked(t.ensureIndex({"data.loc": "2d", zip: 1})); +assert.commandWorked(t.createIndex({"data.loc": "2d", zip: 1})); assert.eq(2, t.getIndexKeys().length); res = @@ -41,7 +41,7 @@ t.insert({zip: "10002", data: [{loc: [20, 20], type: "home"}, {loc: [50, 50], ty res = t.insert({zip: "10003", data: [{loc: [{x: 30, y: 30}, [50, 50]], type: "home"}]}); assert(!res.hasWriteError()); -assert.commandWorked(t.ensureIndex({"data.loc": "2d", zip: 1})); +assert.commandWorked(t.createIndex({"data.loc": "2d", zip: 1})); assert.eq(2, t.getIndexKeys().length); res = diff --git a/jstests/core/geo_multinest1.js b/jstests/core/geo_multinest1.js index d033cfa86b8..a3fb424829e 100644 --- a/jstests/core/geo_multinest1.js +++ b/jstests/core/geo_multinest1.js @@ -16,7 +16,7 @@ var res = t.insert({zip: "10003", data: [{loc: [30, 30], type: "home"}, {loc: [49, 49], type: "work"}]}); assert.commandWorked(res); -assert.commandWorked(t.ensureIndex({"data.loc": "2d", zip: 1})); +assert.commandWorked(t.createIndex({"data.loc": "2d", zip: 1})); assert.eq(2, t.getIndexKeys().length); res = diff --git a/jstests/core/geo_near_bounds_overflow.js b/jstests/core/geo_near_bounds_overflow.js index ff674e89052..1d13d568220 100644 --- a/jstests/core/geo_near_bounds_overflow.js +++ b/jstests/core/geo_near_bounds_overflow.js @@ -13,7 +13,7 @@ function testBounds(min, max) { // Handle case where either 1. indexLambda will fail but not throw. We are asserting it // works, so the outer lambda generates an exception. 2. indexLambda itself will throw. const indexLambda = function(t) { - return t.ensureIndex({loc: '2d'}, indexBounds); + return t.createIndex({loc: '2d'}, indexBounds); }; const assertLambda = function(t, lambda) { assert.commandWorked(lambda(t)); diff --git a/jstests/core/geo_near_random1.js b/jstests/core/geo_near_random1.js index b6350e6c6a7..52dc1e34cbb 100644 --- a/jstests/core/geo_near_random1.js +++ b/jstests/core/geo_near_random1.js @@ -34,7 +34,7 @@ test.testPt(test.mkPt(), opts); // Test $nearSphere with a 2dsphere index assert.commandWorked(db.geo_near_random1.dropIndex({loc: '2d'})); -assert.commandWorked(db.geo_near_random1.ensureIndex({loc: '2dsphere'})); +assert.commandWorked(db.geo_near_random1.createIndex({loc: '2dsphere'})); test.testPt([0, 0], opts); test.testPt(test.mkPt(), opts); test.testPt(test.mkPt(), opts); diff --git a/jstests/core/geo_near_random2.js b/jstests/core/geo_near_random2.js index c524e7a7da4..4ffa95cffae 100644 --- a/jstests/core/geo_near_random2.js +++ b/jstests/core/geo_near_random2.js @@ -38,7 +38,7 @@ test.testPt(test.mkPt(0.8), opts); // Test $nearSphere with 2dsphere index assert.commandWorked(db.geo_near_random2.dropIndex({loc: '2d'})); -assert.commandWorked(db.geo_near_random2.ensureIndex({loc: '2dsphere'})); +assert.commandWorked(db.geo_near_random2.createIndex({loc: '2dsphere'})); test.testPt([0, 0], opts); test.testPt(test.mkPt(0.8), opts); test.testPt(test.mkPt(0.8), opts); diff --git a/jstests/core/geo_nearwithin.js b/jstests/core/geo_nearwithin.js index 37d963b3ddc..6ded21dbd83 100644 --- a/jstests/core/geo_nearwithin.js +++ b/jstests/core/geo_nearwithin.js @@ -13,7 +13,7 @@ for (var x = -points; x < points; x += 1) { } } -assert.commandWorked(t.ensureIndex({geo: "2d"})); +assert.commandWorked(t.createIndex({geo: "2d"})); const runQuery = (center) => t.find({$and: [{geo: {$near: [0, 0]}}, {geo: {$within: {$center: center}}}]}).toArray(); diff --git a/jstests/core/geo_oob_sphere.js b/jstests/core/geo_oob_sphere.js index 3a878f06b78..08a10758c77 100644 --- a/jstests/core/geo_oob_sphere.js +++ b/jstests/core/geo_oob_sphere.js @@ -15,7 +15,7 @@ assert.commandWorked(coll.insert({loc: {x: 30, y: 89}})); assert.commandWorked(coll.insert({loc: {x: 30, y: 89}})); assert.commandWorked(coll.insert({loc: {x: 30, y: 91}})); -assert.commandWorked(coll.ensureIndex({loc: "2d"})); +assert.commandWorked(coll.createIndex({loc: "2d"})); assert.throws(function() { coll.find({loc: {$nearSphere: [30, 91], $maxDistance: 0.25}}).count(); diff --git a/jstests/core/geo_operator_crs.js b/jstests/core/geo_operator_crs.js index cab73fedb0f..6118c4efcc7 100644 --- a/jstests/core/geo_operator_crs.js +++ b/jstests/core/geo_operator_crs.js @@ -14,7 +14,7 @@ coll.drop(); // Test 2dsphere index // -assert.commandWorked(coll.ensureIndex({geo: "2dsphere"})); +assert.commandWorked(coll.createIndex({geo: "2dsphere"})); var legacyZeroPt = [0, 0]; var jsonZeroPt = {type: "Point", coordinates: [0, 0]}; @@ -42,7 +42,7 @@ assert.commandWorked(coll.dropIndexes()); // Test 2d Index // -assert.commandWorked(coll.ensureIndex({geo: "2d"})); +assert.commandWorked(coll.createIndex({geo: "2d"})); assert.commandWorked(coll.insert({geo: legacy90Pt})); @@ -55,7 +55,7 @@ assert.close(result[0].dis, Math.PI / 2); // Test with a 2d and 2dsphere index using the aggregation $geoNear stage. // -assert.commandWorked(coll.ensureIndex({geo: "2dsphere"})); +assert.commandWorked(coll.createIndex({geo: "2dsphere"})); result = coll.aggregate({$geoNear: {near: jsonZeroPt, distanceField: "dis"}}).toArray(); assert.close(result[0].dis, (Math.PI / 2) * earthRadiusMeters); }()); diff --git a/jstests/core/geo_or.js b/jstests/core/geo_or.js index 04caca0e106..d571e3ad6e3 100644 --- a/jstests/core/geo_or.js +++ b/jstests/core/geo_or.js @@ -15,7 +15,7 @@ t.save({loc: q}); var indexname = "2dsphere"; -t.ensureIndex({loc: indexname}); +t.createIndex({loc: indexname}); assert.eq(1, t.find({loc: p}).itcount(), indexname); @@ -87,7 +87,7 @@ t.dropIndexes(); var indexname = "2d"; -t.ensureIndex({loc: indexname}); +t.createIndex({loc: indexname}); assert.eq(2, t.find({ diff --git a/jstests/core/geo_poly_edge.js b/jstests/core/geo_poly_edge.js index 971483e9eef..eee43bfc55c 100644 --- a/jstests/core/geo_poly_edge.js +++ b/jstests/core/geo_poly_edge.js @@ -8,7 +8,7 @@ var coll = db.getCollection('jstests_geo_poly_edge'); coll.drop(); -coll.ensureIndex({loc: "2d"}); +coll.createIndex({loc: "2d"}); coll.insert({loc: [10, 10]}); coll.insert({loc: [10, -10]}); diff --git a/jstests/core/geo_poly_line.js b/jstests/core/geo_poly_line.js index 3eff8d12496..49e394d140e 100644 --- a/jstests/core/geo_poly_line.js +++ b/jstests/core/geo_poly_line.js @@ -12,7 +12,7 @@ t.insert({loc: [2, 0]}); t.insert({loc: [3, 0]}); t.insert({loc: [4, 0]}); -t.ensureIndex({loc: "2d"}); +t.createIndex({loc: "2d"}); printjson(t.find({loc: {"$within": {"$polygon": [[0, 0], [2, 0], [4, 0]]}}}).toArray()); diff --git a/jstests/core/geo_polygon1.js b/jstests/core/geo_polygon1.js index 34b0cafa1d4..3d6d2ad81b2 100644 --- a/jstests/core/geo_polygon1.js +++ b/jstests/core/geo_polygon1.js @@ -13,7 +13,7 @@ for (x = 1; x < 9; x++) { } } -t.ensureIndex({loc: "2d"}); +t.createIndex({loc: "2d"}); triangle = [[0, 0], [1, 1], [0, 2]]; @@ -50,7 +50,7 @@ pacman = [ ]; t.save({loc: [1, 3]}); // Add a point that's in -assert.commandWorked(t.ensureIndex({loc: "2d"})); +assert.commandWorked(t.createIndex({loc: "2d"})); assert.eq(1, t.find({loc: {$within: {$polygon: pacman}}}).count(), "Pacman single point"); diff --git a/jstests/core/geo_polygon2.js b/jstests/core/geo_polygon2.js index e5dc6d4e941..7a6ad0aedb5 100644 --- a/jstests/core/geo_polygon2.js +++ b/jstests/core/geo_polygon2.js @@ -231,7 +231,7 @@ for (var test = 0; test < numTests; test++) { } } - var res = t.ensureIndex({loc: "2d"}, {bits: 1 + bits, max: bounds[1], min: bounds[0]}); + var res = t.createIndex({loc: "2d"}, {bits: 1 + bits, max: bounds[1], min: bounds[0]}); assert.commandWorked(res); t.insert({loc: allPointsIn}); diff --git a/jstests/core/geo_queryoptimizer.js b/jstests/core/geo_queryoptimizer.js index 56653551ba7..17b3c5997f2 100644 --- a/jstests/core/geo_queryoptimizer.js +++ b/jstests/core/geo_queryoptimizer.js @@ -6,7 +6,7 @@ t = db.geo_qo1; t.drop(); -t.ensureIndex({loc: "2d"}); +t.createIndex({loc: "2d"}); t.insert({'issue': 0}); t.insert({'issue': 1}); diff --git a/jstests/core/geo_regex0.js b/jstests/core/geo_regex0.js index 1add7f4e0c3..7629c193ea2 100644 --- a/jstests/core/geo_regex0.js +++ b/jstests/core/geo_regex0.js @@ -4,7 +4,7 @@ t = db.regex0; t.drop(); -t.ensureIndex({point: '2d', words: 1}); +t.createIndex({point: '2d', words: 1}); t.insert({point: [1, 1], words: ['foo', 'bar']}); regex = { diff --git a/jstests/core/geo_s2cursorlimitskip.js b/jstests/core/geo_s2cursorlimitskip.js index f599ccd5b62..3413314fd27 100644 --- a/jstests/core/geo_s2cursorlimitskip.js +++ b/jstests/core/geo_s2cursorlimitskip.js @@ -15,7 +15,7 @@ var testDB = db.getSiblingDB("geo_s2cursorlimitskip"); var t = testDB.geo_s2getmmm; t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); Random.setRandomSeed(); var random = Random.rand; diff --git a/jstests/core/geo_s2dedupnear.js b/jstests/core/geo_s2dedupnear.js index bbf92ded8d7..0619d307bfa 100644 --- a/jstests/core/geo_s2dedupnear.js +++ b/jstests/core/geo_s2dedupnear.js @@ -6,7 +6,7 @@ t = db.geo_s2dedupnear; t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); var x = { "type": "Polygon", "coordinates": [[[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]]] diff --git a/jstests/core/geo_s2descindex.js b/jstests/core/geo_s2descindex.js index 4a945895c57..c4ebb435a55 100644 --- a/jstests/core/geo_s2descindex.js +++ b/jstests/core/geo_s2descindex.js @@ -34,7 +34,7 @@ for (var t = 0; t < descriptors.length; t++) { jsTest.log("Trying 2dsphere index with descriptor " + tojson(descriptor)); coll.drop(); - coll.ensureIndex(descriptor); + coll.createIndex(descriptor); coll.insert(docA); coll.insert(docB); @@ -55,7 +55,7 @@ for (var t = 0; t < descriptors.length; t++) { jsTest.log("Trying case found in wild..."); coll.drop(); -coll.ensureIndex({coordinates: "2dsphere", field: -1}); +coll.createIndex({coordinates: "2dsphere", field: -1}); coll.insert({coordinates: [-118.240013, 34.073893]}); var query = { coordinates: {$geoWithin: {$centerSphere: [[-118.240013, 34.073893], 0.44915760491198753]}}, diff --git a/jstests/core/geo_s2dupe_points.js b/jstests/core/geo_s2dupe_points.js index 2514cdbf4c1..18550b0bbbb 100644 --- a/jstests/core/geo_s2dupe_points.js +++ b/jstests/core/geo_s2dupe_points.js @@ -7,7 +7,7 @@ // ] t = db.geo_s2dupe_points; t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); function testDuplicates(shapeName, shapeWithDupes, shapeWithoutDupes) { // insert a doc with dupes diff --git a/jstests/core/geo_s2edgecases.js b/jstests/core/geo_s2edgecases.js index 3dabfdf0bcb..6e4633f58c8 100644 --- a/jstests/core/geo_s2edgecases.js +++ b/jstests/core/geo_s2edgecases.js @@ -51,7 +51,7 @@ penguin2 = { }; t.insert({geo: penguin2}); -t.ensureIndex({geo: "2dsphere", nonGeo: 1}); +t.createIndex({geo: "2dsphere", nonGeo: 1}); res = t.find({"geo": {"$geoIntersects": {"$geometry": roundworldpoint}}}); assert.eq(res.count(), 2); diff --git a/jstests/core/geo_s2exact.js b/jstests/core/geo_s2exact.js index 2c8571c0830..92ce551d873 100644 --- a/jstests/core/geo_s2exact.js +++ b/jstests/core/geo_s2exact.js @@ -5,7 +5,7 @@ t.drop(); function test(geometry) { t.insert({geo: geometry}); assert.eq(1, t.find({geo: geometry}).itcount(), tojson(geometry)); - t.ensureIndex({geo: "2dsphere"}); + t.createIndex({geo: "2dsphere"}); assert.eq(1, t.find({geo: geometry}).itcount(), tojson(geometry)); t.dropIndex({geo: "2dsphere"}); } diff --git a/jstests/core/geo_s2explain.js b/jstests/core/geo_s2explain.js index 842c6eb22c8..9ae76163485 100644 --- a/jstests/core/geo_s2explain.js +++ b/jstests/core/geo_s2explain.js @@ -11,7 +11,7 @@ var point1 = {loc: {type: "Point", coordinates: [10, 10]}}; var point2 = {loc: {type: "Point", coordinates: [10.001, 10]}}; assert.commandWorked(t.insert([point1, point2])); -assert.commandWorked(t.ensureIndex({loc: "2dsphere"})); +assert.commandWorked(t.createIndex({loc: "2dsphere"})); var explain = t.find({loc: {$nearSphere: {type: "Point", coordinates: [10, 10]}}}) .limit(1) diff --git a/jstests/core/geo_s2holesameasshell.js b/jstests/core/geo_s2holesameasshell.js index 5407fe45c26..0b3f8ea35ec 100644 --- a/jstests/core/geo_s2holesameasshell.js +++ b/jstests/core/geo_s2holesameasshell.js @@ -1,7 +1,7 @@ // If polygons have holes, the holes cannot be equal to the entire geometry. var t = db.geo_s2holessameasshell; t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); var centerPoint = {"type": "Point", "coordinates": [0.5, 0.5]}; var edgePoint = {"type": "Point", "coordinates": [0, 0.5]}; diff --git a/jstests/core/geo_s2index.js b/jstests/core/geo_s2index.js index ecc20c7e637..328b43d04ab 100644 --- a/jstests/core/geo_s2index.js +++ b/jstests/core/geo_s2index.js @@ -10,7 +10,7 @@ someline = { "coordinates": [[40, 5], [40, 5], [40, 5], [41, 6], [41, 6]] }; t.insert({geo: someline, nonGeo: "someline"}); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); foo = t.find({geo: {$geoIntersects: {$geometry: {type: "Point", coordinates: [40, 5]}}}}).next(); assert.eq(foo.geo, someline); t.dropIndex({geo: "2dsphere"}); @@ -56,7 +56,7 @@ somepoly = { }; t.insert({geo: somepoly, nonGeo: "somepoly"}); -var res = t.ensureIndex({geo: "2dsphere", nonGeo: 1}); +var res = t.createIndex({geo: "2dsphere", nonGeo: 1}); // We have a point without any geo data. Don't error. assert.commandWorked(res); @@ -86,7 +86,7 @@ assert.eq(res.itcount(), 1); // Don't crash mongod if we give it bad input. t.drop(); -t.ensureIndex({loc: "2dsphere", x: 1}); +t.createIndex({loc: "2dsphere", x: 1}); t.save({loc: [0, 0]}); assert.throws(function() { return t.count({loc: {$foo: [0, 0]}}); @@ -102,7 +102,7 @@ assert.throws(function() { // If we specify a datum, it has to be valid (WGS84). t.drop(); -t.ensureIndex({loc: "2dsphere"}); +t.createIndex({loc: "2dsphere"}); res = t.insert({ loc: {type: 'Point', coordinates: [40, 5], crs: {type: 'name', properties: {name: 'EPSG:2000'}}} }); @@ -127,36 +127,36 @@ assert.commandWorked(res); // 0 <= coarsestIndexedLevel <= finestIndexedLevel <= 30. t.drop(); t.save({loc: [0, 0]}); -res = t.ensureIndex({loc: "2dsphere"}, {finestIndexedLevel: 17, coarsestIndexedLevel: 5}); +res = t.createIndex({loc: "2dsphere"}, {finestIndexedLevel: 17, coarsestIndexedLevel: 5}); assert.commandWorked(res); // Ensure the index actually works at a basic level assert.neq(null, t.findOne({loc: {$geoNear: {$geometry: {type: 'Point', coordinates: [0, 0]}}}})); t.drop(); t.save({loc: [0, 0]}); -res = t.ensureIndex({loc: "2dsphere"}, {finestIndexedLevel: 31, coarsestIndexedLevel: 5}); +res = t.createIndex({loc: "2dsphere"}, {finestIndexedLevel: 31, coarsestIndexedLevel: 5}); assert.commandFailed(res); t.drop(); t.save({loc: [0, 0]}); -res = t.ensureIndex({loc: "2dsphere"}, {finestIndexedLevel: 30, coarsestIndexedLevel: 0}); +res = t.createIndex({loc: "2dsphere"}, {finestIndexedLevel: 30, coarsestIndexedLevel: 0}); assert.commandWorked(res); // Ensure the index actually works at a basic level assert.neq(null, t.findOne({loc: {$geoNear: {$geometry: {type: 'Point', coordinates: [0, 0]}}}})); t.drop(); t.save({loc: [0, 0]}); -res = t.ensureIndex({loc: "2dsphere"}, {finestIndexedLevel: 30, coarsestIndexedLevel: -1}); +res = t.createIndex({loc: "2dsphere"}, {finestIndexedLevel: 30, coarsestIndexedLevel: -1}); assert.commandFailed(res); // SERVER-21491 Verify that 2dsphere index options require correct types. -res = t.ensureIndex({loc: '2dsphere'}, {'2dsphereIndexVersion': 'NOT_A_NUMBER'}); +res = t.createIndex({loc: '2dsphere'}, {'2dsphereIndexVersion': 'NOT_A_NUMBER'}); assert.commandFailed(res); -res = t.ensureIndex({loc: '2dsphere'}, {finestIndexedLevel: 'NOT_A_NUMBER'}); +res = t.createIndex({loc: '2dsphere'}, {finestIndexedLevel: 'NOT_A_NUMBER'}); assert.commandFailedWithCode(res, ErrorCodes.TypeMismatch); -res = t.ensureIndex({loc: '2dsphere'}, {coarsestIndexedLevel: 'NOT_A_NUMBER'}); +res = t.createIndex({loc: '2dsphere'}, {coarsestIndexedLevel: 'NOT_A_NUMBER'}); assert.commandFailedWithCode(res, ErrorCodes.TypeMismatch); // Ensure polygon which previously triggered an assertion error in SERVER-19674 diff --git a/jstests/core/geo_s2indexoldformat.js b/jstests/core/geo_s2indexoldformat.js index 43974f695cb..ffe472464d4 100644 --- a/jstests/core/geo_s2indexoldformat.js +++ b/jstests/core/geo_s2indexoldformat.js @@ -9,7 +9,7 @@ t.insert({geo: [41, 6], nonGeo: ["pointB"]}); t.insert({geo: [41, 6]}); t.insert({geo: {x: 40.6, y: 5.4}}); -t.ensureIndex({geo: "2dsphere", nonGeo: 1}); +t.createIndex({geo: "2dsphere", nonGeo: 1}); res = t.find({"geo": {"$geoIntersects": {"$geometry": {x: 40, y: 5}}}}); assert.eq(res.count(), 1); diff --git a/jstests/core/geo_s2indexversion1.js b/jstests/core/geo_s2indexversion1.js index a06670ab220..2df90bb1235 100644 --- a/jstests/core/geo_s2indexversion1.js +++ b/jstests/core/geo_s2indexversion1.js @@ -15,27 +15,27 @@ coll.drop(); // var res; -res = coll.ensureIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": -1}); +res = coll.createIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": -1}); assert.commandFailed(res); coll.drop(); -res = coll.ensureIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": 0}); +res = coll.createIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": 0}); assert.commandFailed(res); coll.drop(); -res = coll.ensureIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": 4}); +res = coll.createIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": 4}); assert.commandFailed(res); coll.drop(); -res = coll.ensureIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": Infinity}); +res = coll.createIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": Infinity}); assert.commandFailed(res); coll.drop(); -res = coll.ensureIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": "foo"}); +res = coll.createIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": "foo"}); assert.commandFailed(res); coll.drop(); -res = coll.ensureIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": {a: 1}}); +res = coll.createIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": {a: 1}}); assert.commandFailed(res); coll.drop(); @@ -43,31 +43,31 @@ coll.drop(); // Index build should succeed for valid values of "2dsphereIndexVersion". // -res = coll.ensureIndex({geo: "2dsphere"}); +res = coll.createIndex({geo: "2dsphere"}); assert.commandWorked(res); coll.drop(); -res = coll.ensureIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": 1}); +res = coll.createIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": 1}); assert.commandWorked(res); coll.drop(); -res = coll.ensureIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": NumberInt(1)}); +res = coll.createIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": NumberInt(1)}); assert.commandWorked(res); coll.drop(); -res = coll.ensureIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": NumberLong(1)}); +res = coll.createIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": NumberLong(1)}); assert.commandWorked(res); coll.drop(); -res = coll.ensureIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": 2}); +res = coll.createIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": 2}); assert.commandWorked(res); coll.drop(); -res = coll.ensureIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": NumberInt(2)}); +res = coll.createIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": NumberInt(2)}); assert.commandWorked(res); coll.drop(); -res = coll.ensureIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": NumberLong(2)}); +res = coll.createIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": NumberLong(2)}); assert.commandWorked(res); coll.drop(); @@ -75,7 +75,7 @@ coll.drop(); // {2dsphereIndexVersion: 3} should be the default for new indexes. // -res = coll.ensureIndex({geo: "2dsphere"}); +res = coll.createIndex({geo: "2dsphere"}); assert.commandWorked(res); var specObj = coll.getIndexes().filter(function(z) { return z.name == "geo_2dsphere"; @@ -85,26 +85,26 @@ coll.drop(); // // Two index specs are considered equivalent if they differ only in '2dsphereIndexVersion', and -// ensureIndex() should become a no-op on repeated requests that only differ in this way. +// createIndex() should become a no-op on repeated requests that only differ in this way. // assert.commandWorked(coll.getDB().createCollection(coll.getName())); assert.eq(1, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": 1})); +assert.commandWorked(coll.createIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": 1})); assert.eq(2, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": 2})); +assert.commandWorked(coll.createIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": 2})); assert.eq(2, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({geo: "2dsphere"})); +assert.commandWorked(coll.createIndex({geo: "2dsphere"})); assert.eq(2, coll.getIndexes().length); coll.drop(); assert.commandWorked(coll.getDB().createCollection(coll.getName())); assert.eq(1, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": 2})); +assert.commandWorked(coll.createIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": 2})); assert.eq(2, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": 1})); +assert.commandWorked(coll.createIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": 1})); assert.eq(2, coll.getIndexes().length); -assert.commandWorked(coll.ensureIndex({geo: "2dsphere"})); +assert.commandWorked(coll.createIndex({geo: "2dsphere"})); assert.eq(2, coll.getIndexes().length); coll.drop(); @@ -175,7 +175,7 @@ var geometryCollectionDoc = { }; // {2dsphereIndexVersion: 2} indexes allow all supported GeoJSON objects. -res = coll.ensureIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": 2}); +res = coll.createIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": 2}); assert.commandWorked(res); res = coll.insert(pointDoc); assert.commandWorked(res); @@ -194,7 +194,7 @@ assert.commandWorked(res); coll.drop(); // {2dsphereIndexVersion: 1} indexes allow only Point, LineString, and Polygon. -res = coll.ensureIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": 1}); +res = coll.createIndex({geo: "2dsphere"}, {"2dsphereIndexVersion": 1}); assert.commandWorked(res); res = coll.insert(pointDoc); assert.commandWorked(res); diff --git a/jstests/core/geo_s2intersection.js b/jstests/core/geo_s2intersection.js index 25479a58349..50f26a6aa83 100644 --- a/jstests/core/geo_s2intersection.js +++ b/jstests/core/geo_s2intersection.js @@ -1,6 +1,6 @@ var t = db.geo_s2intersectinglines; t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); /**All the tests in this file are generally confirming intersections based upon * these three geo objects. @@ -143,7 +143,7 @@ assert.eq(result[0]['name'], 'canonPoly'); // Case 12: Make sure that we properly handle and $and of two // $geoIntersects predicates. t.drop(); -t.ensureIndex({a: "2dsphere"}); +t.createIndex({a: "2dsphere"}); t.insert({a: {type: "Polygon", coordinates: [[[0, 0], [3, 6], [6, 0], [0, 0]]]}}); var firstPoint = {$geometry: {type: "Point", coordinates: [3.0, 1.0]}}; diff --git a/jstests/core/geo_s2largewithin.js b/jstests/core/geo_s2largewithin.js index 4723bb4833e..156b711bdff 100644 --- a/jstests/core/geo_s2largewithin.js +++ b/jstests/core/geo_s2largewithin.js @@ -5,7 +5,7 @@ // ] t = db.geo_s2largewithin; t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); testPoint = { name: "origin", diff --git a/jstests/core/geo_s2meridian.js b/jstests/core/geo_s2meridian.js index 47f4fb08a6a..5842000e998 100644 --- a/jstests/core/geo_s2meridian.js +++ b/jstests/core/geo_s2meridian.js @@ -1,6 +1,6 @@ t = db.geo_s2meridian; t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); /** * Test 1: check that intersection works on the meridian. We insert a line @@ -26,7 +26,7 @@ result = t.find({geo: {$geoIntersects: {$geometry: lineAlongMeridian}}}); assert.eq(result.itcount(), 1); t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); /* * Test 2: check that within work across the meridian. We insert points * on the meridian, and immediately on either side, and confirm that a poly @@ -55,7 +55,7 @@ result = t.find({geo: {$geoWithin: {$geometry: meridianCrossingPoly}}}); assert.eq(result.itcount(), 3); t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); /* * Test 3: Check that near works around the meridian. Insert two points, one * closer, but across the meridian, and confirm they both come back, and diff --git a/jstests/core/geo_s2multi.js b/jstests/core/geo_s2multi.js index 28034ad8ba6..9f4208d51aa 100644 --- a/jstests/core/geo_s2multi.js +++ b/jstests/core/geo_s2multi.js @@ -1,7 +1,7 @@ t = db.geo_s2multi; t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); // Let's try the examples in the GeoJSON spec. // @tags: [ diff --git a/jstests/core/geo_s2near.js b/jstests/core/geo_s2near.js index c61e16927ff..2cd1df5cbbc 100644 --- a/jstests/core/geo_s2near.js +++ b/jstests/core/geo_s2near.js @@ -14,7 +14,7 @@ goldenPoint = { coordinates: [31.0, 41.0] }; t.insert({geo: goldenPoint}); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); resNear = t.aggregate([ {$geoNear: {near: [30, 40], distanceField: "d", spherical: true, includeLocs: "loc"}}, @@ -40,7 +40,7 @@ origin = { "coordinates": [lng, lat] }; -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); // Near only works when the query is a point. someline = { diff --git a/jstests/core/geo_s2nearComplex.js b/jstests/core/geo_s2nearComplex.js index d7f4fffabc1..40bc9b72445 100644 --- a/jstests/core/geo_s2nearComplex.js +++ b/jstests/core/geo_s2nearComplex.js @@ -6,7 +6,7 @@ var t = db.get_s2nearcomplex; t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); /* Short names for math operations */ Random.setRandomSeed(); @@ -176,7 +176,7 @@ print("Total points:"); print(t.find(query).itcount()); t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); // Test a uniform distribution with 5 gaps each with 10 points missing. uniformPointsWithGaps(origin, 1000, 1, 10.0, 5, 10); @@ -188,7 +188,7 @@ print("Total points:"); print(t.find(query).itcount()); t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); // Test a uniform distribution with 5 clusters each with between 10 and 100 points. uniformPointsWithClusters(origin, 1000, 1, 10.0, 5, 10, 100); @@ -201,7 +201,7 @@ print("Total points:"); print(t.find(query).itcount()); t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); // Test a uniform near search with origin around the pole. @@ -225,7 +225,7 @@ print(t.find({geo: {$geoNear: {$geometry: originGeo}}}) assert.eq(t.find({geo: {$geoNear: {$geometry: originGeo}}}).itcount(), 50); t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); // Center point near the meridian originGeo = { @@ -247,7 +247,7 @@ print(t.find({geo: {$geoNear: {$geometry: originGeo}}}) assert.eq(t.find({geo: {$geoNear: {$geometry: originGeo}}}).itcount(), 50); t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); // Center point near the negative meridian originGeo = { @@ -270,7 +270,7 @@ assert.eq(t.find({geo: {$near: {$geometry: originGeo}}}).itcount(), 50); // Near search with points that are really far away. t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); originGeo = { type: "Point", coordinates: [0.0, 0.0] diff --git a/jstests/core/geo_s2near_equator_opposite.js b/jstests/core/geo_s2near_equator_opposite.js index de196ea70eb..4b028baf43c 100644 --- a/jstests/core/geo_s2near_equator_opposite.js +++ b/jstests/core/geo_s2near_equator_opposite.js @@ -12,7 +12,7 @@ t.drop(); t.insert({loc: {type: 'Point', coordinates: [0, 0]}}); t.insert({loc: {type: 'Point', coordinates: [-1, 0]}}); -t.ensureIndex({loc: '2dsphere'}); +t.createIndex({loc: '2dsphere'}); // upper bound for half of earth's circumference in meters var dist = 40075000 / 2 + 1; diff --git a/jstests/core/geo_s2nearcorrect.js b/jstests/core/geo_s2nearcorrect.js index 54552a4bee5..80ece4223d2 100644 --- a/jstests/core/geo_s2nearcorrect.js +++ b/jstests/core/geo_s2nearcorrect.js @@ -10,7 +10,7 @@ longline = { "coordinates": [[0, 0], [179, 89]] }; t.insert({geo: longline}); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); origin = { "type": "Point", "coordinates": [45, 45] diff --git a/jstests/core/geo_s2nearwithin.js b/jstests/core/geo_s2nearwithin.js index 8018dfec575..eb334e89aff 100644 --- a/jstests/core/geo_s2nearwithin.js +++ b/jstests/core/geo_s2nearwithin.js @@ -18,7 +18,7 @@ origin = { "coordinates": [0, 0] }; -assert.commandWorked(t.ensureIndex({geo: "2dsphere"})); +assert.commandWorked(t.createIndex({geo: "2dsphere"})); // Near requires an index, and 2dsphere is an index. Spherical isn't // specified so this doesn't work. let res = assert.commandFailedWithCode(t.runCommand("aggregate", { diff --git a/jstests/core/geo_s2nongeoarray.js b/jstests/core/geo_s2nongeoarray.js index 4242a9f38e9..5fb5c59f1af 100644 --- a/jstests/core/geo_s2nongeoarray.js +++ b/jstests/core/geo_s2nongeoarray.js @@ -11,19 +11,19 @@ var data = {geo: oldPoint, nonGeo: [123, 456], otherNonGeo: [{b: [1, 2]}, {b: [3 t.drop(); assert.commandWorked(t.insert(data)); -assert.commandWorked(t.ensureIndex({otherNonGeo: 1})); +assert.commandWorked(t.createIndex({otherNonGeo: 1})); assert.eq(1, t.find({otherNonGeo: {b: [1, 2]}}).itcount()); assert.eq(0, t.find({otherNonGeo: 1}).itcount()); assert.eq(1, t.find({'otherNonGeo.b': 1}).itcount()); t.drop(); t.insert(data); -t.ensureIndex({geo: "2d", nonGeo: 1, otherNonGeo: 1}); +t.createIndex({geo: "2d", nonGeo: 1, otherNonGeo: 1}); assert.eq(t.find({nonGeo: 123, geo: {$nearSphere: oldPoint}}).itcount(), 1); assert.eq(t.find({'otherNonGeo.b': 1, geo: {$nearSphere: oldPoint}}).itcount(), 1); t.drop(); t.insert(data); -t.ensureIndex({geo: "2dsphere", nonGeo: 1, otherNonGeo: 1}); +t.createIndex({geo: "2dsphere", nonGeo: 1, otherNonGeo: 1}); assert.eq(t.find({nonGeo: 123, geo: {$nearSphere: oldPoint}}).itcount(), 1); assert.eq(t.find({'otherNonGeo.b': 1, geo: {$nearSphere: oldPoint}}).itcount(), 1); diff --git a/jstests/core/geo_s2nonstring.js b/jstests/core/geo_s2nonstring.js index 960f0c727a8..a76a7cd073e 100644 --- a/jstests/core/geo_s2nonstring.js +++ b/jstests/core/geo_s2nonstring.js @@ -2,13 +2,13 @@ t = db.geo_s2nonstring; t.drop(); -t.ensureIndex({geo: '2dsphere', x: 1}); +t.createIndex({geo: '2dsphere', x: 1}); t.save({geo: {type: 'Point', coordinates: [0, 0]}, x: 'a'}); t.save({geo: {type: 'Point', coordinates: [0, 0]}, x: 5}); t.drop(); -t.ensureIndex({geo: '2dsphere', x: 1}); +t.createIndex({geo: '2dsphere', x: 1}); t.save({geo: {type: 'Point', coordinates: [0, 0]}, x: 'a'}); t.save({geo: {type: 'Point', coordinates: [0, 0]}}); diff --git a/jstests/core/geo_s2nopoints.js b/jstests/core/geo_s2nopoints.js index 0d2afdb1672..7b3a3b970a7 100644 --- a/jstests/core/geo_s2nopoints.js +++ b/jstests/core/geo_s2nopoints.js @@ -2,7 +2,7 @@ t = db.geo_s2nopoints; t.drop(); -t.ensureIndex({loc: "2dsphere", x: 1}); +t.createIndex({loc: "2dsphere", x: 1}); assert.eq( 0, t.count({loc: {$near: {$geometry: {type: 'Point', coordinates: [0, 0]}, $maxDistance: 10}}})); diff --git a/jstests/core/geo_s2oddshapes.js b/jstests/core/geo_s2oddshapes.js index 0cc60a661a4..9ebe6be7ed3 100644 --- a/jstests/core/geo_s2oddshapes.js +++ b/jstests/core/geo_s2oddshapes.js @@ -6,7 +6,7 @@ // ] var t = db.geo_s2oddshapes; t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); var testPoint = {name: "origin", geo: {type: "Point", coordinates: [0.0, 0.0]}}; @@ -58,7 +58,7 @@ assert.eq(result.itcount(), 3); // Test a poly that is the size of half the earth. t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); var insidePoint = {name: "inside", geo: {type: "Point", name: "inside", coordinates: [100.0, 0.0]}}; @@ -84,7 +84,7 @@ assert.eq(point.name, 'inside'); // Test a poly that is very small. A couple meters around. t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); insidePoint = { name: "inside", diff --git a/jstests/core/geo_s2ordering.js b/jstests/core/geo_s2ordering.js index 8ef84905b75..9e53cafb981 100644 --- a/jstests/core/geo_s2ordering.js +++ b/jstests/core/geo_s2ordering.js @@ -35,7 +35,7 @@ function makepoints(needle) { } function runTest(index) { - assert.commandWorked(coll.ensureIndex(index)); + assert.commandWorked(coll.createIndex(index)); const cursor = coll.find({nongeo: needle, geo: {$within: {$centerSphere: [[0, 0], Math.PI / 180.0]}}}); const stats = cursor.explain("executionStats").executionStats; diff --git a/jstests/core/geo_s2overlappingpolys.js b/jstests/core/geo_s2overlappingpolys.js index 9dd7125349a..3cc1f254a37 100644 --- a/jstests/core/geo_s2overlappingpolys.js +++ b/jstests/core/geo_s2overlappingpolys.js @@ -6,7 +6,7 @@ var t = db.geo_s2overlappingpolys; t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); var minError = 0.8e-13; diff --git a/jstests/core/geo_s2polywithholes.js b/jstests/core/geo_s2polywithholes.js index c20da5a34aa..e37606465f6 100644 --- a/jstests/core/geo_s2polywithholes.js +++ b/jstests/core/geo_s2polywithholes.js @@ -5,7 +5,7 @@ */ var t = db.geo_s2weirdpolys; t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); var centerPoint = {"type": "Point", "coordinates": [0.5, 0.5]}; var edgePoint = {"type": "Point", "coordinates": [0, 0.5]}; diff --git a/jstests/core/geo_s2selfintersectingpoly.js b/jstests/core/geo_s2selfintersectingpoly.js index 0887f850fe3..0ac522fa6f7 100644 --- a/jstests/core/geo_s2selfintersectingpoly.js +++ b/jstests/core/geo_s2selfintersectingpoly.js @@ -1,6 +1,6 @@ var t = db.geo_s2selfintersectingpoly; t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); var intersectingPolygon = { "type": "Polygon", diff --git a/jstests/core/geo_s2sparse.js b/jstests/core/geo_s2sparse.js index d058afb9f9b..1a9a3b67b9b 100644 --- a/jstests/core/geo_s2sparse.js +++ b/jstests/core/geo_s2sparse.js @@ -15,7 +15,7 @@ var indexName = 'geo_2dsphere_nonGeo_1'; // Clean up. coll.drop(); -coll.ensureIndex(indexSpec); +coll.createIndex(indexSpec); var bulkInsertDocs = function(coll, numDocs, makeDocFn) { print("Bulk inserting " + numDocs + " documents"); @@ -77,7 +77,7 @@ assert.eq(N + N, coll.validate().keysPerIndex[indexName]); // coll.drop(); -coll.ensureIndex(indexSpec, {"2dsphereIndexVersion": 1}); +coll.createIndex(indexSpec, {"2dsphereIndexVersion": 1}); // Insert N documents with the geo field. bulkInsertDocs(coll, N, function(i) { @@ -101,7 +101,7 @@ assert.eq(N + N, coll.validate().keysPerIndex[indexName]); // Clean up. coll.drop(); -coll.ensureIndex({geo: "2dsphere", otherGeo: "2dsphere"}); +coll.createIndex({geo: "2dsphere", otherGeo: "2dsphere"}); indexName = 'geo_2dsphere_otherGeo_2dsphere'; diff --git a/jstests/core/geo_s2twofields.js b/jstests/core/geo_s2twofields.js index 73666f2bf5e..160b5f513e1 100644 --- a/jstests/core/geo_s2twofields.js +++ b/jstests/core/geo_s2twofields.js @@ -55,7 +55,7 @@ function timeWithoutAndWithAnIndex(index, query) { var withoutTime = semiRigorousTime(function() { return t.find(query).explain("executionStats").executionStats.executionTimeMillis; }); - t.ensureIndex(index); + t.createIndex(index); var withTime = semiRigorousTime(function() { return t.find(query).explain("executionStats").executionStats.executionTimeMillis; }); diff --git a/jstests/core/geo_s2validindex.js b/jstests/core/geo_s2validindex.js index 4c024d2d585..444346def14 100644 --- a/jstests/core/geo_s2validindex.js +++ b/jstests/core/geo_s2validindex.js @@ -6,19 +6,19 @@ var coll = db.getCollection("twodspherevalid"); // Valid index coll.drop(); -assert.commandWorked(coll.ensureIndex({geo: "2dsphere", other: 1})); +assert.commandWorked(coll.createIndex({geo: "2dsphere", other: 1})); // Valid index coll.drop(); -assert.commandWorked(coll.ensureIndex({geo: "2dsphere", other: 1, geo2: "2dsphere"})); +assert.commandWorked(coll.createIndex({geo: "2dsphere", other: 1, geo2: "2dsphere"})); // Invalid index, using hash with 2dsphere coll.drop(); -assert.commandFailed(coll.ensureIndex({geo: "2dsphere", other: "hash"})); +assert.commandFailed(coll.createIndex({geo: "2dsphere", other: "hash"})); // Invalid index, using 2d with 2dsphere coll.drop(); -assert.commandFailed(coll.ensureIndex({geo: "2dsphere", other: "2d"})); +assert.commandFailed(coll.createIndex({geo: "2dsphere", other: "2d"})); jsTest.log("Success!"); diff --git a/jstests/core/geo_s2within.js b/jstests/core/geo_s2within.js index c32eb4fd612..4f908a4f303 100644 --- a/jstests/core/geo_s2within.js +++ b/jstests/core/geo_s2within.js @@ -4,7 +4,7 @@ // ] t = db.geo_s2within; t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); somepoly = { "type": "Polygon", @@ -19,7 +19,7 @@ res = t.find({"geo": {"$within": {"$geometry": somepoly}}}); assert.eq(res.itcount(), 1); t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); somepoly = { "type": "Polygon", "coordinates": [ diff --git a/jstests/core/geo_small_large.js b/jstests/core/geo_small_large.js index 5cfa3e68e0f..94d5298081e 100644 --- a/jstests/core/geo_small_large.js +++ b/jstests/core/geo_small_large.js @@ -56,7 +56,7 @@ for (var i = 0; i < scales.length; i++) { var t = db["geo_small_large"]; t.drop(); - t.ensureIndex({p: "2d"}, {min: min, max: max, bits: bits}); + t.createIndex({p: "2d"}, {min: min, max: max, bits: bits}); var outPoints = 0; var inPoints = 0; diff --git a/jstests/core/geo_sort1.js b/jstests/core/geo_sort1.js index 22e185d0106..3e9ee494812 100644 --- a/jstests/core/geo_sort1.js +++ b/jstests/core/geo_sort1.js @@ -12,7 +12,7 @@ for (x = 0; x < 10; x++) { } } -t.ensureIndex({loc: "2d", foo: 1}); +t.createIndex({loc: "2d", foo: 1}); q = t.find({loc: {$near: [5, 5]}, foo: {$gt: 20}}); m = function(z) { diff --git a/jstests/core/geo_uniqueDocs.js b/jstests/core/geo_uniqueDocs.js index 88162e42498..b6eaf4e0501 100644 --- a/jstests/core/geo_uniqueDocs.js +++ b/jstests/core/geo_uniqueDocs.js @@ -11,7 +11,7 @@ t.drop(); assert.commandWorked(t.save({locs: [[0, 2], [3, 4]]})); assert.commandWorked(t.save({locs: [[6, 8], [10, 10]]})); -assert.commandWorked(t.ensureIndex({locs: '2d'})); +assert.commandWorked(t.createIndex({locs: '2d'})); // $geoNear tests // uniqueDocs option is ignored. diff --git a/jstests/core/geo_uniqueDocs2.js b/jstests/core/geo_uniqueDocs2.js index 9e0b4a0a284..1486023b73f 100644 --- a/jstests/core/geo_uniqueDocs2.js +++ b/jstests/core/geo_uniqueDocs2.js @@ -12,7 +12,7 @@ t = db[collName]; t.drop(); t.save({loc: [[20, 30], [40, 50]]}); -t.ensureIndex({loc: '2d'}); +t.createIndex({loc: '2d'}); // Check exact matches of different locations. assert.eq(1, t.count({loc: [20, 30]})); @@ -109,5 +109,5 @@ for (i = 0; i < 10000; ++i) { } arr.push([100, 100]); t.save({loc: arr}); -t.ensureIndex({loc: '2d'}); +t.createIndex({loc: '2d'}); assert.eq(1, t.count({loc: {$within: {$center: [[99, 99], 5]}}})); diff --git a/jstests/core/geo_update.js b/jstests/core/geo_update.js index 21cf42d2208..015e56e34a5 100644 --- a/jstests/core/geo_update.js +++ b/jstests/core/geo_update.js @@ -11,7 +11,7 @@ var coll = db.testGeoUpdate; coll.drop(); -coll.ensureIndex({loc: "2d"}); +coll.createIndex({loc: "2d"}); // Test normal update print("Updating..."); diff --git a/jstests/core/geo_update1.js b/jstests/core/geo_update1.js index a4de04fbd93..cd23e65b7b7 100644 --- a/jstests/core/geo_update1.js +++ b/jstests/core/geo_update1.js @@ -11,7 +11,7 @@ for (var x = 0; x < 10; x++) { } } -t.ensureIndex({loc: "2d"}); +t.createIndex({loc: "2d"}); function p() { print("--------------"); diff --git a/jstests/core/geo_update2.js b/jstests/core/geo_update2.js index f1b94925cb7..d67b3a9bcc1 100644 --- a/jstests/core/geo_update2.js +++ b/jstests/core/geo_update2.js @@ -11,7 +11,7 @@ for (var x = 0; x < 10; x++) { } } -t.ensureIndex({loc: "2d"}); +t.createIndex({loc: "2d"}); function p() { print("--------------"); diff --git a/jstests/core/geo_update_btree.js b/jstests/core/geo_update_btree.js index 8cf711a9e48..7a58362fe18 100644 --- a/jstests/core/geo_update_btree.js +++ b/jstests/core/geo_update_btree.js @@ -10,7 +10,7 @@ var coll = db.getCollection("jstests_geo_update_btree"); coll.drop(); -coll.ensureIndex({loc: '2d'}); +coll.createIndex({loc: '2d'}); var big = new Array(3000).toString(); diff --git a/jstests/core/geo_update_btree2.js b/jstests/core/geo_update_btree2.js index 3bc0a7c9760..e37dbb190e1 100644 --- a/jstests/core/geo_update_btree2.js +++ b/jstests/core/geo_update_btree2.js @@ -28,7 +28,7 @@ var status = function(msg) { var coll = db.getCollection("jstests_geo_update_btree2"); coll.drop(); -coll.ensureIndex({loc: '2d'}); +coll.createIndex({loc: '2d'}); status("Inserting points..."); diff --git a/jstests/core/geo_update_dedup.js b/jstests/core/geo_update_dedup.js index 34e9aff30dd..3938204c70e 100644 --- a/jstests/core/geo_update_dedup.js +++ b/jstests/core/geo_update_dedup.js @@ -13,7 +13,7 @@ var t = db.jstests_geo_update_dedup; // 2d index with $near t.drop(); -t.ensureIndex({locs: "2d"}); +t.createIndex({locs: "2d"}); t.save({locs: [[49.999, 49.999], [50.0, 50.0], [50.001, 50.001]]}); var q = {locs: {$near: [50.0, 50.0]}}; @@ -24,7 +24,7 @@ assert.eq(1, res.nMatched); assert.eq(1, t.findOne().touchCount); t.drop(); -t.ensureIndex({locs: "2d"}); +t.createIndex({locs: "2d"}); t.save({locs: [{x: 49.999, y: 49.999}, {x: 50.0, y: 50.0}, {x: 50.001, y: 50.001}]}); res = t.update({locs: {$near: {x: 50.0, y: 50.0}}}, {$inc: {touchCount: 1}}); assert.eq(1, res.nMatched); @@ -32,7 +32,7 @@ assert.eq(1, t.findOne().touchCount); // 2d index with $within t.drop(); -t.ensureIndex({loc: "2d"}); +t.createIndex({loc: "2d"}); t.save({loc: [[0, 0], [1, 1]]}); res = t.update({loc: {$within: {$center: [[0, 0], 2]}}}, {$inc: {touchCount: 1}}, false, true); @@ -41,7 +41,7 @@ assert.eq(1, t.findOne().touchCount); // 2dsphere index with $geoNear t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); var x = { "type": "Polygon", "coordinates": [[[49.999, 49.999], [50.0, 50.0], [50.001, 50.001], [49.999, 49.999]]] @@ -62,7 +62,7 @@ var locdata = [ {geo: {type: "Point", coordinates: [50.001, 50.001]}} ]; t.save({locdata: locdata, count: 0}); -t.ensureIndex({"locdata.geo": "2dsphere"}); +t.createIndex({"locdata.geo": "2dsphere"}); res = t.update({"locdata.geo": {$geoNear: {"type": "Point", "coordinates": [50.0, 50.0]}}}, {$inc: {touchCount: 1}}, diff --git a/jstests/core/geo_validate.js b/jstests/core/geo_validate.js index cd839ef8f97..0518740c02e 100644 --- a/jstests/core/geo_validate.js +++ b/jstests/core/geo_validate.js @@ -8,7 +8,7 @@ var coll = db.geo_validate; coll.drop(); -coll.ensureIndex({geo: "2dsphere"}); +coll.createIndex({geo: "2dsphere"}); // // diff --git a/jstests/core/geoa.js b/jstests/core/geoa.js index c1e0a2f796a..52a9d79db3b 100644 --- a/jstests/core/geoa.js +++ b/jstests/core/geoa.js @@ -10,7 +10,7 @@ t.save({_id: 1, a: {loc: [5, 5]}}); t.save({_id: 2, a: {loc: [6, 6]}}); t.save({_id: 3, a: {loc: [7, 7]}}); -t.ensureIndex({"a.loc": "2d"}); +t.createIndex({"a.loc": "2d"}); cur = t.find({"a.loc": {$near: [6, 6]}}); assert.eq(2, cur.next()._id, "A1"); diff --git a/jstests/core/geob.js b/jstests/core/geob.js index 6a7839253ee..b1093172618 100644 --- a/jstests/core/geob.js +++ b/jstests/core/geob.js @@ -17,7 +17,7 @@ t.save(a); t.save(b); t.save(c); t.save(d); -t.ensureIndex({p: "2d"}); +t.createIndex({p: "2d"}); let res = t.aggregate({$geoNear: {near: [0, 0], distanceField: "dis"}}).toArray(); diff --git a/jstests/core/geoc.js b/jstests/core/geoc.js index 4264b6f9295..2c0948582c7 100644 --- a/jstests/core/geoc.js +++ b/jstests/core/geoc.js @@ -15,7 +15,7 @@ for (var i = 0; i < N; i++) for (var i = 0; i < N; i++) t.insert({loc: [-100 + Math.random(), -100 + Math.random()], z: 2}); -t.ensureIndex({loc: '2d'}); +t.createIndex({loc: '2d'}); function test(z, l) { assert.lt( diff --git a/jstests/core/geod.js b/jstests/core/geod.js index fc6c37f1da3..47b067809f8 100644 --- a/jstests/core/geod.js +++ b/jstests/core/geod.js @@ -2,7 +2,7 @@ var t = db.geod; t.drop(); t.save({loc: [0, 0]}); t.save({loc: [0.5, 0]}); -t.ensureIndex({loc: "2d"}); +t.createIndex({loc: "2d"}); // do a few geoNears with different maxDistances. The first iteration // should match no points in the dataset. // @tags: [ diff --git a/jstests/core/geoe.js b/jstests/core/geoe.js index 9568e13dc08..84bc34f7a74 100644 --- a/jstests/core/geoe.js +++ b/jstests/core/geoe.js @@ -22,7 +22,7 @@ t.insert({"_id": 12, "geo": [-122.3, 37.66]}); t.insert({"_id": 13, "geo": [-122.2435, 37.637072]}); t.insert({"_id": 14, "geo": [-122.289505, 37.695774]}); -t.ensureIndex({geo: "2d"}); +t.createIndex({geo: "2d"}); c = t.find({geo: {"$within": {"$box": [[-125.078461, 36.494473], [-120.320648, 38.905199]]}}}); assert.eq(11, c.count(), "A1"); diff --git a/jstests/core/geof.js b/jstests/core/geof.js index ad15037db3b..31e5439b158 100644 --- a/jstests/core/geof.js +++ b/jstests/core/geof.js @@ -14,7 +14,7 @@ t.insert({loc: [-0.7, -0.7]}); t.insert({loc: [-0.9, 0]}); t.insert({loc: [-0.9, 0]}); -t.ensureIndex({loc: "2d"}); +t.createIndex({loc: "2d"}); t.find({loc: {$near: [0, 0]}}).limit(2).forEach(function(o) { // printjson(o); diff --git a/jstests/core/geonear_cmd_input_validation.js b/jstests/core/geonear_cmd_input_validation.js index 2c3116c3a6d..04f5e73fed0 100644 --- a/jstests/core/geonear_cmd_input_validation.js +++ b/jstests/core/geonear_cmd_input_validation.js @@ -6,7 +6,7 @@ // ] var t = db.geonear_cmd_input_validation; t.drop(); -t.ensureIndex({loc: "2dsphere"}); +t.createIndex({loc: "2dsphere"}); // The test matrix. Some combinations are not supported: // 2d index and GeoJSON. diff --git a/jstests/core/getmore_invalidated_documents.js b/jstests/core/getmore_invalidated_documents.js index 3bc5458072e..4fc66fca5c8 100644 --- a/jstests/core/getmore_invalidated_documents.js +++ b/jstests/core/getmore_invalidated_documents.js @@ -23,7 +23,7 @@ var y; // Case #1: Text search with deletion invalidation. t.drop(); -assert.commandWorked(t.ensureIndex({a: "text"})); +assert.commandWorked(t.createIndex({a: "text"})); assert.commandWorked(t.insert({_id: 1, a: "bar"})); assert.commandWorked(t.insert({_id: 2, a: "bar"})); assert.commandWorked(t.insert({_id: 3, a: "bar"})); @@ -41,7 +41,7 @@ assert(count === 0 || count === 1); // Case #2: Text search with mutation invalidation. t.drop(); -assert.commandWorked(t.ensureIndex({a: "text"})); +assert.commandWorked(t.createIndex({a: "text"})); assert.commandWorked(t.insert({_id: 1, a: "bar"})); assert.commandWorked(t.insert({_id: 2, a: "bar"})); assert.commandWorked(t.insert({_id: 3, a: "bar"})); @@ -60,7 +60,7 @@ assert(!cursor.hasNext() || cursor.next()["a"] === "bar"); // Case #3: Merge sort with deletion invalidation. t.drop(); -assert.commandWorked(t.ensureIndex({a: 1, b: 1})); +assert.commandWorked(t.createIndex({a: 1, b: 1})); assert.commandWorked(t.insert({a: 1, b: 1})); assert.commandWorked(t.insert({a: 1, b: 2})); assert.commandWorked(t.insert({a: 2, b: 3})); @@ -77,7 +77,7 @@ assert(count === 1 || count === 2); // Case #4: Merge sort with mutation invalidation. t.drop(); -assert.commandWorked(t.ensureIndex({a: 1, b: 1})); +assert.commandWorked(t.createIndex({a: 1, b: 1})); assert.commandWorked(t.insert({a: 1, b: 1})); assert.commandWorked(t.insert({a: 1, b: 2})); assert.commandWorked(t.insert({a: 2, b: 3})); @@ -101,7 +101,7 @@ assert(!cursor.hasNext()); // Case #5: 2d near with deletion invalidation. t.drop(); -t.ensureIndex({geo: "2d"}); +t.createIndex({geo: "2d"}); for (x = -1; x < 1; x++) { for (y = -1; y < 1; y++) { assert.commandWorked(t.insert({geo: [x, y]})); @@ -121,7 +121,7 @@ assert(cursor.hasNext()); // Case #6: 2dsphere near with deletion invalidation. t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); for (x = -1; x < 1; x++) { for (y = -1; y < 1; y++) { assert.commandWorked(t.insert({geo: [x, y]})); @@ -141,7 +141,7 @@ assert(cursor.hasNext()); // Case #7: 2dsphere near with deletion invalidation (again). t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); for (x = 0; x < 6; x++) { assert.commandWorked(t.insert({geo: [x, x]})); } @@ -159,7 +159,7 @@ assert.gte(cursor.itcount(), 0); // Case #8: 2d near with mutation invalidation. t.drop(); -t.ensureIndex({geo: "2d"}); +t.createIndex({geo: "2d"}); for (x = -1; x < 1; x++) { for (y = -1; y < 1; y++) { assert.commandWorked(t.insert({geo: [x, y]})); @@ -182,7 +182,7 @@ assert(nextDoc.geo[0] === 0 || nextDoc.geo[1] === 0); // Case #9: 2dsphere near with mutation invalidation. t.drop(); -t.ensureIndex({geo: "2dsphere"}); +t.createIndex({geo: "2dsphere"}); for (x = -1; x < 1; x++) { for (y = -1; y < 1; y++) { assert.commandWorked(t.insert({geo: [x, y]})); @@ -205,7 +205,7 @@ assert(nextDoc.geo[0] === 0 || nextDoc.geo[1] === 0); // Case #10: sort with deletion invalidation. t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.insert({a: 1, b: 2}); t.insert({a: 3, b: 3}); t.insert({a: 2, b: 1}); @@ -222,7 +222,7 @@ if (cursor.hasNext()) { // Case #11: sort with mutation invalidation. t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.insert({a: 1, b: 2}); t.insert({a: 3, b: 3}); t.insert({a: 2, b: 1}); diff --git a/jstests/core/hint1.js b/jstests/core/hint1.js index 6542f9752bc..d584144e641 100644 --- a/jstests/core/hint1.js +++ b/jstests/core/hint1.js @@ -2,7 +2,7 @@ p = db.jstests_hint1; p.drop(); p.save({ts: new Date(1), cls: "entry", verticals: "alleyinsider", live: true}); -p.ensureIndex({ts: 1}); +p.createIndex({ts: 1}); assert.eq( 1, diff --git a/jstests/core/idhack.js b/jstests/core/idhack.js index a884fecd920..83a359f0f53 100644 --- a/jstests/core/idhack.js +++ b/jstests/core/idhack.js @@ -41,7 +41,7 @@ assert.eq(1, explain.executionStats.totalKeysExamined); assert(isIdhack(db, explain.queryPlanner.winningPlan)); // ID hack cannot be used with hint(). -t.ensureIndex({_id: 1, a: 1}); +t.createIndex({_id: 1, a: 1}); explain = t.find(query).hint({_id: 1, a: 1}).explain(); assert(!isIdhack(db, explain.queryPlanner.winningPlan)); diff --git a/jstests/core/in.js b/jstests/core/in.js index 852f6bcbca4..ca8cd77b189 100644 --- a/jstests/core/in.js +++ b/jstests/core/in.js @@ -17,7 +17,7 @@ assert.eq(1, t.find({a: {$in: [1]}}).itcount(), "A"); assert.eq(1, t.find({a: {$in: [2]}}).itcount(), "B"); assert.eq(2, t.find({a: {$in: [1, 2]}}).itcount(), "C"); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); assert.eq(1, t.find({a: {$in: [1]}}).itcount(), "D"); assert.eq(1, t.find({a: {$in: [2]}}).itcount(), "E"); diff --git a/jstests/core/in2.js b/jstests/core/in2.js index ddcee67ccd0..6682bbc79c1 100644 --- a/jstests/core/in2.js +++ b/jstests/core/in2.js @@ -17,7 +17,7 @@ function go(name, index) { t.save({a: 3, b: 1}); if (index) - t.ensureIndex(index); + t.createIndex(index); assert.eq(7, t.find({a: {$in: [1, 2]}}).count(), name + " A"); diff --git a/jstests/core/in3.js b/jstests/core/in3.js index 02680642939..bd64329ded4 100644 --- a/jstests/core/in3.js +++ b/jstests/core/in3.js @@ -19,5 +19,5 @@ function doTest() { } doTest(); -t.ensureIndex({key: 1}); +t.createIndex({key: 1}); doTest(); diff --git a/jstests/core/in4.js b/jstests/core/in4.js index df9eea2577b..e916ca7c82d 100644 --- a/jstests/core/in4.js +++ b/jstests/core/in4.js @@ -33,5 +33,5 @@ function doTest() { doTest(); // SERVER-1943 not fixed yet -t.ensureIndex({key: 1}); +t.createIndex({key: 1}); doTest(); diff --git a/jstests/core/in5.js b/jstests/core/in5.js index 2f92b057d6c..80f37e6b473 100644 --- a/jstests/core/in5.js +++ b/jstests/core/in5.js @@ -27,7 +27,7 @@ function go(fn) { i = {}; i[fn] = 1; - t.ensureIndex(i); + t.createIndex(i); assert.eq(1, t.find(x).itcount(), "B1 - " + fn); assert.eq(1, t.find(y).itcount(), "B2 - " + fn); @@ -39,7 +39,7 @@ function go(fn) { i = {}; i[fn + ".a"] = 1; - t.ensureIndex(i); + t.createIndex(i); assert.eq(2, t.getIndexes().length, "T3"); assert.eq(1, t.find(x).itcount(), "C1 - " + fn); diff --git a/jstests/core/in6.js b/jstests/core/in6.js index 4ee06541b81..ab8322cfe0a 100644 --- a/jstests/core/in6.js +++ b/jstests/core/in6.js @@ -9,5 +9,5 @@ function doTest() { } doTest(); -t.ensureIndex({i: 1}); +t.createIndex({i: 1}); doTest(); diff --git a/jstests/core/in8.js b/jstests/core/in8.js index a6bdc520926..f1b6188347c 100644 --- a/jstests/core/in8.js +++ b/jstests/core/in8.js @@ -8,7 +8,7 @@ function checkResults(query) { assert.eq(4, t.find(query).itcount()); } -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); t.save({x: 'aa'}); t.save({x: 'ab'}); t.save({x: 'ac'}); diff --git a/jstests/core/inc1.js b/jstests/core/inc1.js index 50a7892e5a4..551d15e0f63 100644 --- a/jstests/core/inc1.js +++ b/jstests/core/inc1.js @@ -26,7 +26,7 @@ test(5, "E"); t.update({_id: 1}, {$inc: {x: -1}}); test(4, "F"); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); t.update({_id: 1}, {$inc: {x: 1}}); test(5, "G"); diff --git a/jstests/core/inc2.js b/jstests/core/inc2.js index 6ff4842e254..debdfde82cb 100644 --- a/jstests/core/inc2.js +++ b/jstests/core/inc2.js @@ -17,7 +17,7 @@ assert.eq("1,2,3", order(), "A"); t.update({_id: 1}, {$inc: {x: 4}}); assert.eq("2,3,1", order(), "B"); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); assert.eq("2,3,1", order(), "C"); t.update({_id: 3}, {$inc: {x: 4}}); diff --git a/jstests/core/index1.js b/jstests/core/index1.js index 2efb9d22189..4c06bfe03fd 100644 --- a/jstests/core/index1.js +++ b/jstests/core/index1.js @@ -13,7 +13,7 @@ t.save(o); assert(t.findOne().z.a == 17); assert(t.findOne({z: {a: 17}}) == null); -t.ensureIndex({"z.a": 1}); +t.createIndex({"z.a": 1}); assert(t.findOne().z.a == 17); assert(t.findOne({z: {a: 17}}) == null); diff --git a/jstests/core/index13.js b/jstests/core/index13.js index 9979116ae51..97a3a85f773 100644 --- a/jstests/core/index13.js +++ b/jstests/core/index13.js @@ -40,7 +40,7 @@ index = { 'a.b': 1, 'a.c': 1 }; -t.ensureIndex(index); +t.createIndex(index); t.save({a: [{b: 1}, {c: 1}]}); t.save({a: [{b: 1, c: 1}]}); assert.eq(2, t.count()); @@ -68,7 +68,7 @@ index = { 'd.e': 1, 'd.f': 1 }; -t.ensureIndex(index); +t.createIndex(index); t.insert({a: [{b: 1}, {c: 1}], d: {e: 1, f: 1}}); t.insert({a: [{b: 1, c: 1}], d: {e: 1, f: 1}}); t.insert({a: {b: 1, c: 1}, d: [{e: 1, f: 1}]}); @@ -89,7 +89,7 @@ index = { 'a.b.c': 1, 'a.b.d': 1 }; -t.ensureIndex(index); +t.createIndex(index); t.insert({a: [{b: [{c: 1, d: 1}]}]}); t.insert({a: [{b: [{c: 1}, {d: 1}]}]}); assert.eq(2, t.count()); @@ -104,7 +104,7 @@ index = { 'a.b.x': 1, 'a.b.y': 1 }; -t.ensureIndex(index); +t.createIndex(index); t.save({a: {b: {x: 1, y: 1}}}); t.save({a: [{b: {x: 1}}, {b: {y: 1}}]}); t.save({a: [{b: [{x: 1}, {y: 1}]}]}); @@ -125,7 +125,7 @@ index = { 'a.b.x': 1, 'a.b.y': 1 }; -t.ensureIndex(index); +t.createIndex(index); // With $ne. assertResults({a: {$ne: 4}, 'a.b': {$elemMatch: {x: 1, y: 1}}}); @@ -141,7 +141,7 @@ index = { 'a.b.d': 1, 'a.e.g': 1 }; -t.ensureIndex(index); +t.createIndex(index); t.save({a: {b: {c: 1, d: 1}, e: {f: 1, g: 1}}}); t.save({a: [{b: {c: 1}, e: {f: 1}}, {b: {d: 1}, e: {g: 1}}]}); t.save({a: [{b: {c: 1}}, {e: {f: 1}}, {b: {d: 1}}, {e: {g: 1}}]}); @@ -166,7 +166,7 @@ index = { 'a.b.d': 1, 'a.e.d': 1 }; -t.ensureIndex(index); +t.createIndex(index); t.save({a: [{b: [{c: 1, d: 1}]}, {e: [{c: 1, d: 1}]}]}); assert.eq(1, t.count()); diff --git a/jstests/core/index2.js b/jstests/core/index2.js index 098bdc20529..2c37c48c871 100644 --- a/jstests/core/index2.js +++ b/jstests/core/index2.js @@ -40,7 +40,7 @@ assert(t.findOne({z: {a: 17}}).z.a == 17); assert(t.find({z: {a: 17}}).length() == 2); assert(t.find({z: {a: 18}}).length() == 1); -t.ensureIndex({z: 1}); +t.createIndex({z: 1}); assert(t.findOne({z: {a: 17}}).z.a == 17); assert(t.find({z: {a: 17}}).length() == 2); diff --git a/jstests/core/index3.js b/jstests/core/index3.js index 6ae7c4b82dd..cc5ad3b0796 100644 --- a/jstests/core/index3.js +++ b/jstests/core/index3.js @@ -7,11 +7,11 @@ t.drop(); assert(t.getIndexes().length == 0); -t.ensureIndex({name: 1}); +t.createIndex({name: 1}); t.save({name: "a"}); -t.ensureIndex({name: 1}); +t.createIndex({name: 1}); assert(t.getIndexes().length == 2); diff --git a/jstests/core/index4.js b/jstests/core/index4.js index 37ebce75a9c..179bcdd9726 100644 --- a/jstests/core/index4.js +++ b/jstests/core/index4.js @@ -14,10 +14,10 @@ t.save({name: "alleyinsider", instances: [{pool: "prod1"}, {pool: "dev1"}]}); t.save({name: "clusterstock", instances: [{pool: "dev1"}]}); // this should fail, not allowed -- we confirm that. -t.ensureIndex({instances: {pool: 1}}); +t.createIndex({instances: {pool: 1}}); assert.eq(1, t.getIndexes().length, "no indexes other than _id should be here yet"); -t.ensureIndex({"instances.pool": 1}); +t.createIndex({"instances.pool": 1}); sleep(10); diff --git a/jstests/core/index5.js b/jstests/core/index5.js index f46654c6602..908b433c299 100644 --- a/jstests/core/index5.js +++ b/jstests/core/index5.js @@ -22,5 +22,5 @@ t.save({a: 2}); validate(); -t.ensureIndex({a: -1}); +t.createIndex({a: -1}); validate(); diff --git a/jstests/core/index6.js b/jstests/core/index6.js index 9adef9bf366..4626e9359ea 100644 --- a/jstests/core/index6.js +++ b/jstests/core/index6.js @@ -4,5 +4,5 @@ r = db.ed.db.index6; r.drop(); r.save({comments: [{name: "eliot", foo: 1}]}); -r.ensureIndex({"comments.name": 1}); +r.createIndex({"comments.name": 1}); assert(r.findOne({"comments.name": "eliot"})); diff --git a/jstests/core/index8.js b/jstests/core/index8.js index 5bae0bc6de2..55ba8b805c9 100644 --- a/jstests/core/index8.js +++ b/jstests/core/index8.js @@ -8,9 +8,9 @@ t = db.jstests_index8; t.drop(); -t.ensureIndex({a: 1}); -t.ensureIndex({b: 1}, true); -t.ensureIndex({c: 1}, [false, "cIndex"]); +t.createIndex({a: 1}); +t.createIndex({b: 1}, true); +t.createIndex({c: 1}, [false, "cIndex"]); checkIndexes = function(num) { const indexes = t.getIndexes(); @@ -47,7 +47,7 @@ assert.eq(3, t.find().hint({b: 1}).toArray().length); assert.eq(3, t.find().hint({a: 1}).toArray().length); t.drop(); -t.ensureIndex({a: 1, b: -1}, true); +t.createIndex({a: 1, b: -1}, true); t.save({a: 2, b: 3}); t.save({a: 2, b: 3}); t.save({a: 2, b: 4}); @@ -55,13 +55,13 @@ t.save({a: 1, b: 3}); assert.eq(3, t.find().count()); t.drop(); -t.ensureIndex({a: 1}, true); +t.createIndex({a: 1}, true); t.save({a: [2, 3]}); t.save({a: 2}); assert.eq(1, t.find().count()); t.drop(); -t.ensureIndex({a: 1}, true); +t.createIndex({a: 1}, true); t.save({a: 2}); t.save({a: [1, 2, 3]}); t.save({a: [3, 2, 1]}); diff --git a/jstests/core/index_arr1.js b/jstests/core/index_arr1.js index cc6f1683bd1..d6db3e621cd 100644 --- a/jstests/core/index_arr1.js +++ b/jstests/core/index_arr1.js @@ -11,11 +11,11 @@ t.insert({_id: 3, a: 5}); assert.eq(3, t.find({a: 5}).itcount(), "A1"); -t.ensureIndex({a: 1, "b.x": 1}); +t.createIndex({a: 1, "b.x": 1}); 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}); +t.createIndex({a: 1, "b.a": 1, "b.c": 1}); assert.eq(3, t.getIndexes().length, "B2"); diff --git a/jstests/core/index_arr2.js b/jstests/core/index_arr2.js index cd0df2533d3..faca8be6337 100644 --- a/jstests/core/index_arr2.js +++ b/jstests/core/index_arr2.js @@ -24,9 +24,9 @@ function test(withIndex) { 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"}); + // t.createIndex( { 'a.b.c' : 1, 'created' : -1 } ) + // t.createIndex( { created : -1 } ) + t.createIndex({'a.b.c': 1}, {name: "x"}); } var res = t.update(query, {'$set': {"a.0.b.c": 0}}, false, true); diff --git a/jstests/core/index_bounds_number_edge_cases.js b/jstests/core/index_bounds_number_edge_cases.js index 0ab482028ed..3da4e53e2d0 100644 --- a/jstests/core/index_bounds_number_edge_cases.js +++ b/jstests/core/index_bounds_number_edge_cases.js @@ -6,7 +6,7 @@ t = db.indexboundsnumberedgecases; t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.save({a: -Infinity}); t.save({a: -Number.MAX_VALUE}); diff --git a/jstests/core/index_check2.js b/jstests/core/index_check2.js index 8feeb7d42a8..216ca7fb283 100644 --- a/jstests/core/index_check2.js +++ b/jstests/core/index_check2.js @@ -32,7 +32,7 @@ assert.eq(120, t.find(q1).itcount(), "q1 a"); assert.eq(120, t.find(q2).itcount(), "q2 a"); assert.eq(60, t.find(q3).itcount(), "q3 a"); -t.ensureIndex({tags: 1}); +t.createIndex({tags: 1}); assert.eq(120, t.find(q1).itcount(), "q1 a"); assert.eq(120, t.find(q2).itcount(), "q2 a"); diff --git a/jstests/core/index_check3.js b/jstests/core/index_check3.js index 306b7415592..da472ecb0c9 100644 --- a/jstests/core/index_check3.js +++ b/jstests/core/index_check3.js @@ -14,7 +14,7 @@ t.save({a: "z"}); assert.eq(1, t.find({a: {$lt: 2}}).itcount(), "A"); assert.eq(1, t.find({a: {$gt: 2}}).itcount(), "B"); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); assert.eq(1, t.find({a: {$lt: 2}}).itcount(), "C"); assert.eq(1, t.find({a: {$gt: 2}}).itcount(), "D"); @@ -28,7 +28,7 @@ for (var i = 0; i < 100; i++) { t.save(o); } -t.ensureIndex({foo: 1}); +t.createIndex({foo: 1}); var explain = t.find({foo: {$lt: 50}}).explain("executionStats"); assert.gt(30, explain.executionStats.totalKeysExamined, "lt"); @@ -41,7 +41,7 @@ for (var i = 0; i < 10; ++i) { t.save({}); } -t.ensureIndex({i: 1}); +t.createIndex({i: 1}); var explain = t.find({i: {$lte: 'a'}}).explain("executionStats"); assert.gt(3, explain.executionStats.totalKeysExamined, "lte"); diff --git a/jstests/core/index_check5.js b/jstests/core/index_check5.js index 2a3e73f9e8d..8921e014fcd 100644 --- a/jstests/core/index_check5.js +++ b/jstests/core/index_check5.js @@ -14,5 +14,5 @@ t.save({ }); assert.eq(2, t.find({"scores.level": 2, "scores.score": {$gt: 30}}).itcount(), "A"); -t.ensureIndex({"scores.level": 1, "scores.score": 1}); +t.createIndex({"scores.level": 1, "scores.score": 1}); assert.eq(2, t.find({"scores.level": 2, "scores.score": {$gt: 30}}).itcount(), "B"); diff --git a/jstests/core/index_check6.js b/jstests/core/index_check6.js index 20310d2b0dd..646d64540cf 100644 --- a/jstests/core/index_check6.js +++ b/jstests/core/index_check6.js @@ -12,7 +12,7 @@ function keysExamined(query, hint) { return explain.executionStats.totalKeysExamined; } -t.ensureIndex({age: 1, rating: 1}); +t.createIndex({age: 1, rating: 1}); for (var age = 10; age < 50; age++) { for (var rating = 0; rating < 10; rating++) { @@ -98,7 +98,7 @@ for (var a = -1; a <= 1; a += 2) { for (var c = -1; c <= 1; c += 2) { t.dropIndexes(); var spec = {a: a, b: b, c: c}; - t.ensureIndex(spec); + t.createIndex(spec); doTest(spec, spec); doTest({a: -a, b: -b, c: -c}, spec); } diff --git a/jstests/core/index_check7.js b/jstests/core/index_check7.js index ae7ae7c9c71..4a4ac2a0aa1 100644 --- a/jstests/core/index_check7.js +++ b/jstests/core/index_check7.js @@ -9,10 +9,10 @@ t.drop(); for (var i = 0; i < 100; i++) t.save({x: i}); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); assert.eq(1, t.find({x: 27}).explain(true).executionStats.totalKeysExamined, "A"); -t.ensureIndex({x: -1}); +t.createIndex({x: -1}); assert.eq(1, t.find({x: 27}).explain(true).executionStats.totalKeysExamined, "B"); assert.eq(40, t.find({x: {$gt: 59}}).explain(true).executionStats.totalKeysExamined, "C"); diff --git a/jstests/core/index_diag.js b/jstests/core/index_diag.js index b336e5cc141..86f90c8d15c 100644 --- a/jstests/core/index_diag.js +++ b/jstests/core/index_diag.js @@ -49,7 +49,7 @@ if (FixtureHelpers.numberOfShardsForCollection(t) === 1) { assert.commandWorked(t.createIndex({_id: 1, x: 1})); assert.eq(all, t.find().hint({_id: 1, x: 1}).returnKey().toArray()); } -assert.commandWorked(t.ensureIndex({_id: 1, x: 1})); +assert.commandWorked(t.createIndex({_id: 1, x: 1})); assert.eq(r(all), t.find().hint({_id: 1, x: 1}).sort({x: 1}).returnKey().toArray()); assert.eq([{}, {}, {}], t.find().hint({$natural: 1}).returnKey().toArray()); diff --git a/jstests/core/index_dropdups_ignore.js b/jstests/core/index_dropdups_ignore.js index aabea228c26..0cc45d65648 100644 --- a/jstests/core/index_dropdups_ignore.js +++ b/jstests/core/index_dropdups_ignore.js @@ -11,13 +11,13 @@ t.insert({_id: 1, a: 'dup'}); t.insert({_id: 2, a: 'dup'}); // Should fail with a dup-key error even though dropDups is true; -var res = t.ensureIndex({a: 1}, {unique: true, dropDups: true}); +var res = t.createIndex({a: 1}, {unique: true, dropDups: true}); assert.commandFailed(res); assert.eq(res.code, 11000, tojson(res)); // Succeeds with the dup manually removed. t.remove({_id: 2}); -var res = t.ensureIndex({a: 1}, {unique: true, dropDups: true}); +var res = t.createIndex({a: 1}, {unique: true, dropDups: true}); assert.commandWorked(res); // The spec should have been stripped of the dropDups option. diff --git a/jstests/core/index_id_options.js b/jstests/core/index_id_options.js index 91bdce8090f..475a1a6fe95 100644 --- a/jstests/core/index_id_options.js +++ b/jstests/core/index_id_options.js @@ -21,12 +21,12 @@ var coll = db.getSiblingDB("local").index_id_options; // _id indexes must have key pattern {_id: 1}. coll.drop(); assert.commandWorked(coll.runCommand("create", {autoIndexId: false})); -assert.commandFailed(coll.ensureIndex({_id: -1}, {name: "_id_"})); +assert.commandFailed(coll.createIndex({_id: -1}, {name: "_id_"})); // The name of an _id index gets corrected to "_id_". coll.drop(); assert.commandWorked(coll.runCommand("create", {autoIndexId: false})); -assert.commandWorked(coll.ensureIndex({_id: 1}, {name: "bad"})); +assert.commandWorked(coll.createIndex({_id: 1}, {name: "bad"})); var spec = GetIndexHelpers.findByKeyPattern(coll.getIndexes(), {_id: 1}); assert.neq(null, spec, "_id index spec not found"); assert.eq("_id_", spec.name, tojson(spec)); @@ -34,35 +34,35 @@ assert.eq("_id_", spec.name, tojson(spec)); // _id indexes cannot have any options other than "key", "name", "ns", "v", and "collation." coll.drop(); assert.commandWorked(coll.runCommand("create", {autoIndexId: false})); -assert.commandFailed(coll.ensureIndex({_id: 1}, {name: "_id_", unique: true})); -assert.commandFailed(coll.ensureIndex({_id: 1}, {name: "_id_", sparse: false})); -assert.commandFailed(coll.ensureIndex({_id: 1}, {name: "_id_", partialFilterExpression: {a: 1}})); -assert.commandFailed(coll.ensureIndex({_id: 1}, {name: "_id_", expireAfterSeconds: 3600})); -assert.commandFailed(coll.ensureIndex({_id: 1}, {name: "_id_", background: false})); -assert.commandFailed(coll.ensureIndex({_id: 1}, {name: "_id_", unknown: true})); -assert.commandWorked(coll.ensureIndex( +assert.commandFailed(coll.createIndex({_id: 1}, {name: "_id_", unique: true})); +assert.commandFailed(coll.createIndex({_id: 1}, {name: "_id_", sparse: false})); +assert.commandFailed(coll.createIndex({_id: 1}, {name: "_id_", partialFilterExpression: {a: 1}})); +assert.commandFailed(coll.createIndex({_id: 1}, {name: "_id_", expireAfterSeconds: 3600})); +assert.commandFailed(coll.createIndex({_id: 1}, {name: "_id_", background: false})); +assert.commandFailed(coll.createIndex({_id: 1}, {name: "_id_", unknown: true})); +assert.commandWorked(coll.createIndex( {_id: 1}, {name: "_id_", ns: coll.getFullName(), v: 2, collation: {locale: "simple"}})); // _id indexes must have the collection default collation. coll.drop(); assert.commandWorked(coll.runCommand("create", {autoIndexId: false})); -assert.commandFailed(coll.ensureIndex({_id: 1}, {name: "_id_", collation: {locale: "en_US"}})); -assert.commandWorked(coll.ensureIndex({_id: 1}, {name: "_id_", collation: {locale: "simple"}})); +assert.commandFailed(coll.createIndex({_id: 1}, {name: "_id_", collation: {locale: "en_US"}})); +assert.commandWorked(coll.createIndex({_id: 1}, {name: "_id_", collation: {locale: "simple"}})); coll.drop(); assert.commandWorked(coll.runCommand("create", {autoIndexId: false})); -assert.commandWorked(coll.ensureIndex({_id: 1}, {name: "_id_"})); +assert.commandWorked(coll.createIndex({_id: 1}, {name: "_id_"})); coll.drop(); assert.commandWorked(coll.runCommand("create", {autoIndexId: false, collation: {locale: "en_US"}})); -assert.commandFailed(coll.ensureIndex({_id: 1}, {name: "_id_", collation: {locale: "simple"}})); -assert.commandFailed(coll.ensureIndex({_id: 1}, {name: "_id_", collation: {locale: "fr_CA"}})); +assert.commandFailed(coll.createIndex({_id: 1}, {name: "_id_", collation: {locale: "simple"}})); +assert.commandFailed(coll.createIndex({_id: 1}, {name: "_id_", collation: {locale: "fr_CA"}})); assert.commandWorked( - coll.ensureIndex({_id: 1}, {name: "_id_", collation: {locale: "en_US", strength: 3}})); + coll.createIndex({_id: 1}, {name: "_id_", collation: {locale: "en_US", strength: 3}})); coll.drop(); assert.commandWorked(coll.runCommand("create", {autoIndexId: false, collation: {locale: "en_US"}})); -assert.commandWorked(coll.ensureIndex({_id: 1}, {name: "_id_"})); +assert.commandWorked(coll.createIndex({_id: 1}, {name: "_id_"})); spec = GetIndexHelpers.findByName(coll.getIndexes(), "_id_"); assert.neq(null, spec, "_id index spec not found"); assert.eq("en_US", spec.collation.locale, tojson(spec)); @@ -70,6 +70,6 @@ assert.eq("en_US", spec.collation.locale, tojson(spec)); // Non-_id indexes cannot have the name "_id_". coll.drop(); assert.commandWorked(coll.runCommand("create", {autoIndexId: false})); -assert.commandFailed(coll.ensureIndex({_id: "hashed"}, {name: "_id_"})); -assert.commandFailed(coll.ensureIndex({a: 1}, {name: "_id_"})); +assert.commandFailed(coll.createIndex({_id: "hashed"}, {name: "_id_"})); +assert.commandFailed(coll.createIndex({a: 1}, {name: "_id_"})); })(); diff --git a/jstests/core/index_many.js b/jstests/core/index_many.js index f95d4ac50de..cdd559c9be5 100644 --- a/jstests/core/index_many.js +++ b/jstests/core/index_many.js @@ -22,7 +22,7 @@ function f() { patt = {x: 1}; if (x == 64) patt = {y: 1}; - lastErr = t.ensureIndex(patt); + lastErr = t.createIndex(patt); x++; } diff --git a/jstests/core/index_many2.js b/jstests/core/index_many2.js index f6f6b0cb392..70fada7396e 100644 --- a/jstests/core/index_many2.js +++ b/jstests/core/index_many2.js @@ -16,7 +16,7 @@ function make(n) { } for (i = 1; i < 1000; i++) { - t.ensureIndex(make(i)); + t.createIndex(make(i)); } assert.eq(64, t.getIndexKeys().length, "A2"); @@ -26,7 +26,7 @@ num = t.getIndexKeys().length; t.dropIndex(make(num - 1)); assert.eq(num - 1, t.getIndexKeys().length, "B0"); -t.ensureIndex({z: 1}); +t.createIndex({z: 1}); assert.eq(num, t.getIndexKeys().length, "B1"); t.dropIndexes("*"); diff --git a/jstests/core/index_partial_validate.js b/jstests/core/index_partial_validate.js index 2319aac2954..5011b4b8bc2 100644 --- a/jstests/core/index_partial_validate.js +++ b/jstests/core/index_partial_validate.js @@ -6,10 +6,10 @@ var t = db.index_partial_validate; t.drop(); -var res = t.ensureIndex({a: 1}, {partialFilterExpression: {a: {$lte: 1}}}); +var res = t.createIndex({a: 1}, {partialFilterExpression: {a: {$lte: 1}}}); assert.commandWorked(res); -res = t.ensureIndex({b: 1}); +res = t.createIndex({b: 1}); assert.commandWorked(res); res = t.insert({non_indexed_field: 'x'}); diff --git a/jstests/core/index_partial_write_ops.js b/jstests/core/index_partial_write_ops.js index df80ac33b42..6adcb8933fd 100644 --- a/jstests/core/index_partial_write_ops.js +++ b/jstests/core/index_partial_write_ops.js @@ -21,7 +21,7 @@ var getNumKeys = function(idxName) { coll.drop(); // Create partial index. -assert.commandWorked(coll.ensureIndex({x: 1}, {unique: true, partialFilterExpression: {a: 1}})); +assert.commandWorked(coll.createIndex({x: 1}, {unique: true, partialFilterExpression: {a: 1}})); assert.commandWorked(coll.insert({_id: 1, x: 5, a: 2, b: 1})); // Not in index. assert.commandWorked(coll.insert({_id: 2, x: 6, a: 1, b: 1})); // In index. diff --git a/jstests/core/index_sparse1.js b/jstests/core/index_sparse1.js index a7c1e8605ef..58bc5baa9b8 100644 --- a/jstests/core/index_sparse1.js +++ b/jstests/core/index_sparse1.js @@ -14,13 +14,13 @@ t.insert({_id: 5}); assert.eq(5, t.count(), "A1"); assert.eq(5, t.find().sort({x: 1}).itcount(), "A2"); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); assert.eq(2, t.getIndexes().length, "B1"); assert.eq(5, t.find().sort({x: 1}).itcount(), "B2"); t.dropIndex({x: 1}); assert.eq(1, t.getIndexes().length, "B3"); -t.ensureIndex({x: 1}, {sparse: 1}); +t.createIndex({x: 1}, {sparse: 1}); assert.eq(2, t.getIndexes().length, "C1"); assert.eq(5, t.find().sort({x: 1}).itcount(), "C2"); t.dropIndex({x: 1}); @@ -31,14 +31,14 @@ assert.eq(1, t.getIndexes().length, "C3"); t.remove({_id: 2}); // test that we can't create a unique index without sparse -assert.commandFailed(t.ensureIndex({x: 1}, {unique: 1})); +assert.commandFailed(t.createIndex({x: 1}, {unique: 1})); assert.eq(1, t.getIndexes().length, "D2"); -t.ensureIndex({x: 1}, {unique: 1, sparse: 1}); +t.createIndex({x: 1}, {unique: 1, sparse: 1}); assert.eq(2, t.getIndexes().length, "E1"); t.dropIndex({x: 1}); assert.eq(1, t.getIndexes().length, "E3"); t.insert({_id: 2, x: 2}); -t.ensureIndex({x: 1}, {unique: 1, sparse: 1}); +t.createIndex({x: 1}, {unique: 1, sparse: 1}); assert.eq(1, t.getIndexes().length, "F1"); diff --git a/jstests/core/index_sparse2.js b/jstests/core/index_sparse2.js index 148ad70b203..324b46d8216 100644 --- a/jstests/core/index_sparse2.js +++ b/jstests/core/index_sparse2.js @@ -9,14 +9,14 @@ t.insert({_id: 1, x: 1, y: 1}); t.insert({_id: 2, x: 2}); t.insert({_id: 3}); -t.ensureIndex({x: 1, y: 1}); +t.createIndex({x: 1, y: 1}); assert.eq(2, t.getIndexes().length, "A1"); assert.eq(3, t.find().sort({x: 1, y: 1}).count(), "A2 count()"); assert.eq(3, t.find().sort({x: 1, y: 1}).itcount(), "A2 itcount()"); t.dropIndex({x: 1, y: 1}); assert.eq(1, t.getIndexes().length, "A3"); -t.ensureIndex({x: 1, y: 1}, {sparse: 1}); +t.createIndex({x: 1, y: 1}, {sparse: 1}); assert.eq(2, t.getIndexes().length, "B1"); assert.eq(3, t.find().sort({x: 1, y: 1}).count(), "B2 count()"); assert.eq(3, t.find().sort({x: 1, y: 1}).itcount(), "B2 itcount()"); diff --git a/jstests/core/index_type_change.js b/jstests/core/index_type_change.js index 4ecb5081347..d23984a132d 100644 --- a/jstests/core/index_type_change.js +++ b/jstests/core/index_type_change.js @@ -18,7 +18,7 @@ load("jstests/libs/analyze_plan.js"); // For 'isIndexOnly'. var coll = db.index_type_change; coll.drop(); -assert.commandWorked(coll.ensureIndex({a: 1})); +assert.commandWorked(coll.createIndex({a: 1})); assert.commandWorked(coll.insert({a: 2})); assert.eq(1, coll.find({a: {$type: "double"}}).itcount()); diff --git a/jstests/core/indexa.js b/jstests/core/indexa.js index 90e74adc4f4..01fde035621 100644 --- a/jstests/core/indexa.js +++ b/jstests/core/indexa.js @@ -8,7 +8,7 @@ t = db.indexa; t.drop(); -t.ensureIndex({x: 1}, true); +t.createIndex({x: 1}, true); t.insert({'x': 'A'}); t.insert({'x': 'B'}); diff --git a/jstests/core/indexapi.js b/jstests/core/indexapi.js index 14cf634e556..29d39ea721b 100644 --- a/jstests/core/indexapi.js +++ b/jstests/core/indexapi.js @@ -31,14 +31,14 @@ c.dropDups = true; assert.eq(c, t._indexSpec({x: 1}, [true, true]), "G"); assert.eq(c, t._indexSpec({x: 1}, {unique: true, dropDups: true}), "F"); -t.ensureIndex({x: 1}, {unique: true}); +t.createIndex({x: 1}, {unique: true}); idx = t.getIndexes(); assert.eq(2, idx.length, "M1"); assert.eq(key, idx[1].key, "M2"); assert(idx[1].unique, "M3"); t.drop(); -t.ensureIndex({x: 1}, {unique: 1}); +t.createIndex({x: 1}, {unique: 1}); idx = t.getIndexes(); assert.eq(2, idx.length, "M1"); assert.eq(key, idx[1].key, "M2"); diff --git a/jstests/core/indexb.js b/jstests/core/indexb.js index 6890dda3cbc..59546f7fae2 100644 --- a/jstests/core/indexb.js +++ b/jstests/core/indexb.js @@ -10,7 +10,7 @@ t = db.indexb; t.drop(); -t.ensureIndex({a: 1}, true); +t.createIndex({a: 1}, true); t.insert({a: 1}); diff --git a/jstests/core/indexc.js b/jstests/core/indexc.js index 3bc4c9eaca8..bf5735380fa 100644 --- a/jstests/core/indexc.js +++ b/jstests/core/indexc.js @@ -13,8 +13,8 @@ for (var i = 1; i < 100; i++) { assert.eq(50, t.find({ts: {$lt: mid}}).itcount(), "A"); assert.eq(50, t.find({ts: {$lt: mid}}).sort({ts: 1}).itcount(), "B"); -t.ensureIndex({ts: 1, cats: 1}); -t.ensureIndex({cats: 1}); +t.createIndex({ts: 1, cats: 1}); +t.createIndex({cats: 1}); // multi-key bug was firing here (related to getsetdup()): assert.eq(50, t.find({ts: {$lt: mid}}).itcount(), "C"); diff --git a/jstests/core/indexe.js b/jstests/core/indexe.js index 6961229c682..a307882adc3 100644 --- a/jstests/core/indexe.js +++ b/jstests/core/indexe.js @@ -13,7 +13,7 @@ assert.eq(num, t.find().count(), "A1"); assert.eq(num, t.find({a: "b"}).count(), "B1"); assert.eq(num, t.find({a: "b"}).itcount(), "C1"); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); assert.eq(num, t.find().count(), "A2"); assert.eq(num, t.find().sort({a: 1}).count(), "A2a"); diff --git a/jstests/core/indexf.js b/jstests/core/indexf.js index cbe1b968b5e..4dc8fb0b060 100644 --- a/jstests/core/indexf.js +++ b/jstests/core/indexf.js @@ -7,7 +7,7 @@ t = db.indexf; t.drop(); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); t.save({x: 2}); t.save({y: 3}); diff --git a/jstests/core/indexg.js b/jstests/core/indexg.js index 3cafede4cff..486f4be0ebe 100644 --- a/jstests/core/indexg.js +++ b/jstests/core/indexg.js @@ -9,5 +9,5 @@ doit = function() { assert.eq(1, f.count({list: {$in: [1], $not: {$in: [3]}}})); }; doit(); -f.ensureIndex({list: 1}); +f.createIndex({list: 1}); doit();
\ No newline at end of file diff --git a/jstests/core/indexj.js b/jstests/core/indexj.js index 76bf8cb17e9..64cf9844d7f 100644 --- a/jstests/core/indexj.js +++ b/jstests/core/indexj.js @@ -20,12 +20,12 @@ function keysExamined(query, hint, sort) { return explain.executionStats.totalKeysExamined; } -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.save({a: 5}); assert.eq(0, keysExamined({a: {$gt: 4, $lt: 5}}), "A"); t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.save({a: 4}); assert.eq(0, keysExamined({a: {$gt: 4, $lt: 5}}), "B"); @@ -39,7 +39,7 @@ t.save({a: 5}); assert.eq(0, keysExamined({a: {$gt: 4, $lt: 5}}), "D"); t.drop(); -t.ensureIndex({a: 1, b: 1}); +t.createIndex({a: 1, b: 1}); t.save({a: 1, b: 1}); t.save({a: 1, b: 2}); t.save({a: 2, b: 1}); diff --git a/jstests/core/indexl.js b/jstests/core/indexl.js index c83638607d4..cde169eda71 100644 --- a/jstests/core/indexl.js +++ b/jstests/core/indexl.js @@ -23,5 +23,5 @@ function test(t) { t.drop(); test(t); t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); test(t);
\ No newline at end of file diff --git a/jstests/core/indexm.js b/jstests/core/indexm.js index 820bedd7baa..7613b125357 100644 --- a/jstests/core/indexm.js +++ b/jstests/core/indexm.js @@ -13,12 +13,12 @@ function test() { test(); // Now create an index. -t.ensureIndex({"a": 1}); +t.createIndex({"a": 1}); test(); // Now create a different index. t.dropIndexes(); -t.ensureIndex({"a.x": 1}); +t.createIndex({"a.x": 1}); test(); // Drop the indexes. diff --git a/jstests/core/indexn.js b/jstests/core/indexn.js index 014ba050cbc..02547280ad9 100644 --- a/jstests/core/indexn.js +++ b/jstests/core/indexn.js @@ -9,8 +9,8 @@ t.drop(); t.save({a: 1, b: [1, 2]}); -t.ensureIndex({a: 1}); -t.ensureIndex({b: 1}); +t.createIndex({a: 1}); +t.createIndex({b: 1}); // {a:1} is a single key index, so no matches are possible for this query assert.eq(0, t.count({a: {$gt: 5, $lt: 0}})); diff --git a/jstests/core/indexp.js b/jstests/core/indexp.js index 71e9f8eadb9..8199e0f132c 100644 --- a/jstests/core/indexp.js +++ b/jstests/core/indexp.js @@ -6,18 +6,18 @@ var coll = db.jstests_indexp; // Empty field checks. -assert.commandFailed(coll.ensureIndex({'a..b': 1})); -assert.commandFailed(coll.ensureIndex({'.a': 1})); -assert.commandFailed(coll.ensureIndex({'a.': 1})); -assert.commandFailed(coll.ensureIndex({'.': 1})); -assert.commandFailed(coll.ensureIndex({'': 1})); -assert.commandWorked(coll.ensureIndex({'a.b': 1})); +assert.commandFailed(coll.createIndex({'a..b': 1})); +assert.commandFailed(coll.createIndex({'.a': 1})); +assert.commandFailed(coll.createIndex({'a.': 1})); +assert.commandFailed(coll.createIndex({'.': 1})); +assert.commandFailed(coll.createIndex({'': 1})); +assert.commandWorked(coll.createIndex({'a.b': 1})); // '$'-prefixed field checks. -assert.commandFailed(coll.ensureIndex({'$a': 1})); -assert.commandFailed(coll.ensureIndex({'a.$b': 1})); -assert.commandFailed(coll.ensureIndex({'$db': 1})); -assert.commandWorked(coll.ensureIndex({'a$ap': 1})); // $ in middle is ok -assert.commandWorked(coll.ensureIndex({'a.$id': 1})); // $id/$db/$ref are execptions +assert.commandFailed(coll.createIndex({'$a': 1})); +assert.commandFailed(coll.createIndex({'a.$b': 1})); +assert.commandFailed(coll.createIndex({'$db': 1})); +assert.commandWorked(coll.createIndex({'a$ap': 1})); // $ in middle is ok +assert.commandWorked(coll.createIndex({'a.$id': 1})); // $id/$db/$ref are execptions coll.dropIndexes(); diff --git a/jstests/core/indexr.js b/jstests/core/indexr.js index 15cd56e9681..de3afe8cdc1 100644 --- a/jstests/core/indexr.js +++ b/jstests/core/indexr.js @@ -15,8 +15,8 @@ assert.eq(1, t.count({a: {b: 3, c: 6}, 'a.c': {$lt: 4}})); // Check with single key indexes. t.remove({}); -t.ensureIndex({'a.b': 1, 'a.c': 1}); -t.ensureIndex({a: 1, 'a.c': 1}); +t.createIndex({'a.b': 1, 'a.c': 1}); +t.createIndex({a: 1, 'a.c': 1}); assert.eq(0, t.count({'a.b': {$gt: 2}, 'a.c': {$lt: 4}})); assert.eq(0, t.count({a: {b: 3, c: 6}, 'a.c': {$lt: 4}})); diff --git a/jstests/core/indexs.js b/jstests/core/indexs.js index 2fc9724a590..6ee625071e2 100644 --- a/jstests/core/indexs.js +++ b/jstests/core/indexs.js @@ -4,16 +4,16 @@ t = db.jstests_indexs; t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.save({a: [{b: 3}]}); assert.eq(1, t.count({a: {b: 3}})); t.drop(); -t.ensureIndex({a: 1, 'a.b': 1}); +t.createIndex({a: 1, 'a.b': 1}); t.save({a: {b: 3}}); assert.eq(1, t.count({a: {b: 3}})); t.drop(); -t.ensureIndex({a: 1, 'a.b': 1}); +t.createIndex({a: 1, 'a.b': 1}); t.save({a: [{b: 3}]}); assert.eq(1, t.count({a: {b: 3}})); diff --git a/jstests/core/indext.js b/jstests/core/indext.js index 163a3e4a8a3..1ac92d6be5d 100644 --- a/jstests/core/indext.js +++ b/jstests/core/indext.js @@ -3,12 +3,12 @@ t = db.jstests_indext; t.drop(); -t.ensureIndex({'a.b': 1}, {sparse: true}); +t.createIndex({'a.b': 1}, {sparse: true}); t.save({a: []}); t.save({a: 1}); assert.eq(0, t.find().hint({'a.b': 1}).itcount()); -t.ensureIndex({'a.b': 1, 'a.c': 1}, {sparse: true}); +t.createIndex({'a.b': 1, 'a.c': 1}, {sparse: true}); t.save({a: []}); t.save({a: 1}); assert.eq(0, t.find().hint({'a.b': 1, 'a.c': 1}).itcount()); diff --git a/jstests/core/indexu.js b/jstests/core/indexu.js index 22af42d5d6a..973fc0e4985 100644 --- a/jstests/core/indexu.js +++ b/jstests/core/indexu.js @@ -15,56 +15,56 @@ var noDupDoc = {a: [{'1': 1}]}; // Test that we can't index dupDoc. assert.commandWorked(t.save(dupDoc)); -assert.commandFailedWithCode(t.ensureIndex({'a.0': 1}), 16746); +assert.commandFailedWithCode(t.createIndex({'a.0': 1}), 16746); // Test that we can fail gracefully when dupDoc has a large array padded with nulls. // Index is based on max padding constant in mongo/db/update/path_support.h assert.commandWorked(t.update({_id: 0}, {$set: {'a.1500001': 1}})); -assert.commandFailedWithCode(t.ensureIndex({'a.0': 1}), 16746); +assert.commandFailedWithCode(t.createIndex({'a.0': 1}), 16746); t.remove({}); -assert.commandWorked(t.ensureIndex({'a.0': 1})); +assert.commandWorked(t.createIndex({'a.0': 1})); assert.writeError(t.save(dupDoc)); // Test that we can't index dupDoc2. t.drop(); assert.commandWorked(t.save(dupDoc2)); -assert.commandFailedWithCode(t.ensureIndex({'a.1': 1}), 16746); +assert.commandFailedWithCode(t.createIndex({'a.1': 1}), 16746); t.remove({}); -assert.commandWorked(t.ensureIndex({'a.1': 1})); +assert.commandWorked(t.createIndex({'a.1': 1})); assert.writeError(t.save(dupDoc2)); // Test that we can index dupDoc with a different index. t.drop(); -t.ensureIndex({'a.b': 1}); +t.createIndex({'a.b': 1}); assert.commandWorked(t.save(dupDoc)); // Test number field starting with hyphen. t.drop(); -t.ensureIndex({'a.-1': 1}); +t.createIndex({'a.-1': 1}); assert.commandWorked(t.save({a: [{'-1': 1}]})); // Test number field starting with zero. t.drop(); -t.ensureIndex({'a.00': 1}); +t.createIndex({'a.00': 1}); assert.commandWorked(t.save({a: [{'00': 1}]})); // Test multiple array indexes t.drop(); -t.ensureIndex({'a.0': 1, 'a.1': 1}); +t.createIndex({'a.0': 1, 'a.1': 1}); assert.commandWorked(t.save({a: [{'1': 1}]})); assert.writeError(t.save({a: [{'1': 1}, 4]})); // Test that we can index noDupDoc. t.drop(); t.save(noDupDoc); -assert.commandWorked(t.ensureIndex({'a.0': 1})); -assert.commandWorked(t.ensureIndex({'a.1': 1})); +assert.commandWorked(t.createIndex({'a.0': 1})); +assert.commandWorked(t.createIndex({'a.1': 1})); t.drop(); -t.ensureIndex({'a.0': 1}); -t.ensureIndex({'a.1': 1}); +t.createIndex({'a.0': 1}); +t.createIndex({'a.1': 1}); assert.commandWorked(t.save(noDupDoc)); // Test that we can query noDupDoc. @@ -76,7 +76,7 @@ assert.eq(1, t.find({'a.0': {'1': 1}}).hint({$natural: 1}).itcount()); // Check multiple nested array fields. t.drop(); t.save({a: [[1]]}); -assert.commandWorked(t.ensureIndex({'a.0.0': 1})); +assert.commandWorked(t.createIndex({'a.0.0': 1})); assert.eq(1, t.find({'a.0.0': 1}).hint({$natural: 1}).itcount()); assert.eq(1, t.find({'a.0.0': 1}).hint({'a.0.0': 1}).itcount()); @@ -84,36 +84,36 @@ assert.eq(1, t.find({'a.0.0': 1}).hint({'a.0.0': 1}).itcount()); // field. t.drop(); t.save({a: [[1], {'0': 1}]}); -assert.commandFailed(t.ensureIndex({'a.0.0': 1})); +assert.commandFailed(t.createIndex({'a.0.0': 1})); // Check where there is a duplicate for a fully addressed field. t.drop(); assert.commandWorked(t.save({a: [[1], {'0': [1]}]})); -assert.commandFailedWithCode(t.ensureIndex({'a.0.0': 1}), 16746); +assert.commandFailedWithCode(t.createIndex({'a.0.0': 1}), 16746); // Two ways of addressing parse to an array. t.drop(); t.save({a: [{'0': 1}]}); -assert.commandFailedWithCode(t.ensureIndex({'a.0.0': 1}), 16746); +assert.commandFailedWithCode(t.createIndex({'a.0.0': 1}), 16746); // Test several key depths - with same arrays being found. t.drop(); t.save({a: [{'0': [{'0': 1}]}]}); -assert.commandFailedWithCode(t.ensureIndex({'a.0.0.0.0.0.0': 1}), 16746); -assert.commandFailedWithCode(t.ensureIndex({'a.0.0.0.0.0': 1}), 16746); -assert.commandFailedWithCode(t.ensureIndex({'a.0.0.0.0': 1}), 16746); -assert.commandFailedWithCode(t.ensureIndex({'a.0.0.0': 1}), 16746); -assert.commandFailedWithCode(t.ensureIndex({'a.0.0': 1}), 16746); -assert.commandFailedWithCode(t.ensureIndex({'a.0': 1}), 16746); -assert.commandWorked(t.ensureIndex({'a': 1})); +assert.commandFailedWithCode(t.createIndex({'a.0.0.0.0.0.0': 1}), 16746); +assert.commandFailedWithCode(t.createIndex({'a.0.0.0.0.0': 1}), 16746); +assert.commandFailedWithCode(t.createIndex({'a.0.0.0.0': 1}), 16746); +assert.commandFailedWithCode(t.createIndex({'a.0.0.0': 1}), 16746); +assert.commandFailedWithCode(t.createIndex({'a.0.0': 1}), 16746); +assert.commandFailedWithCode(t.createIndex({'a.0': 1}), 16746); +assert.commandWorked(t.createIndex({'a': 1})); // Two prefixes extract docs, but one terminates extraction before array. t.drop(); t.save({a: [{'0': {'c': []}}]}); -assert.commandFailedWithCode(t.ensureIndex({'a.0.c': 1}), 16746); +assert.commandFailedWithCode(t.createIndex({'a.0.c': 1}), 16746); t.drop(); t.save({a: [[{'b': 1}]]}); assert.eq(1, t.find({'a.0.b': 1}).itcount()); -t.ensureIndex({'a.0.b': 1}); +t.createIndex({'a.0.b': 1}); assert.eq(1, t.find({'a.0.b': 1}).itcount()); diff --git a/jstests/core/insert_illegal_doc.js b/jstests/core/insert_illegal_doc.js index 64ecb0ae7ad..f6344f1c62b 100644 --- a/jstests/core/insert_illegal_doc.js +++ b/jstests/core/insert_illegal_doc.js @@ -2,7 +2,7 @@ // "parallel indexing of arrays" test var coll = db.insert_illegal_doc; coll.drop(); -coll.ensureIndex({a: 1, b: 1}); +coll.createIndex({a: 1, b: 1}); var res; // test upsert diff --git a/jstests/core/js3.js b/jstests/core/js3.js index 89847210714..8698195d6c4 100644 --- a/jstests/core/js3.js +++ b/jstests/core/js3.js @@ -18,8 +18,8 @@ for (z = 0; z < 2; z++) { t.drop(); if (z > 0) { - t.ensureIndex({_id: 1}); - t.ensureIndex({i: 1}); + t.createIndex({_id: 1}); + t.createIndex({i: 1}); } for (i = 0; i < 1000; i++) @@ -51,8 +51,8 @@ for (z = 0; z < 2; z++) { debug(ok); assert(ok); - t.ensureIndex({z: 1}); - t.ensureIndex({q: 1}); + t.createIndex({z: 1}); + t.createIndex({q: 1}); debug("before indexed find"); diff --git a/jstests/core/list_indexes.js b/jstests/core/list_indexes.js index 040d30e6290..a81a1adf68a 100644 --- a/jstests/core/list_indexes.js +++ b/jstests/core/list_indexes.js @@ -59,7 +59,7 @@ assert.eq(["_id_"], cursorGetIndexNames(getListIndexesCursor(coll))); coll.drop(); assert.commandWorked(coll.getDB().createCollection(coll.getName())); -assert.commandWorked(coll.ensureIndex({a: 1}, {unique: true})); +assert.commandWorked(coll.createIndex({a: 1}, {unique: true})); specs = cursorGetIndexSpecs(getListIndexesCursor(coll)); assert.eq(2, specs.length); assert.eq("_id_", specs[0].name); @@ -84,7 +84,7 @@ assert.commandFailed(coll.getDB().runCommand({listIndexes: []})); coll.drop(); assert.commandWorked(coll.getDB().createCollection(coll.getName())); -assert.commandWorked(coll.ensureIndex({a: 1}, {unique: true})); +assert.commandWorked(coll.createIndex({a: 1}, {unique: true})); cursor = getListIndexesCursor(coll, {cursor: {batchSize: 2}}); assert.eq(2, cursor.objsLeftInBatch()); @@ -124,9 +124,9 @@ assert.eq(["_id_", "a_1"], cursorGetIndexNames(cursor)); coll.drop(); assert.commandWorked(coll.getDB().createCollection(coll.getName())); -assert.commandWorked(coll.ensureIndex({a: 1}, {unique: true})); -assert.commandWorked(coll.ensureIndex({b: 1}, {unique: true})); -assert.commandWorked(coll.ensureIndex({c: 1}, {unique: true})); +assert.commandWorked(coll.createIndex({a: 1}, {unique: true})); +assert.commandWorked(coll.createIndex({b: 1}, {unique: true})); +assert.commandWorked(coll.createIndex({c: 1}, {unique: true})); cursor = getListIndexesCursor(coll, {cursor: {batchSize: 0}}, 2); assert.eq(0, cursor.objsLeftInBatch()); @@ -167,9 +167,9 @@ if (!FixtureHelpers.isMongos(db)) { coll.drop(); assert.commandWorked(coll.getDB().createCollection(coll.getName())); -assert.commandWorked(coll.ensureIndex({a: 1}, {unique: true})); -assert.commandWorked(coll.ensureIndex({b: 1}, {unique: true})); -assert.commandWorked(coll.ensureIndex({c: 1}, {unique: true})); +assert.commandWorked(coll.createIndex({a: 1}, {unique: true})); +assert.commandWorked(coll.createIndex({b: 1}, {unique: true})); +assert.commandWorked(coll.createIndex({c: 1}, {unique: true})); res = coll.runCommand("listIndexes", {cursor: {batchSize: 0}}); cursor = new DBCommandCursor(coll.getDB(), res, 2); diff --git a/jstests/core/list_indexes_invalid.js b/jstests/core/list_indexes_invalid.js index 43d64a594c2..7b73a4278ce 100644 --- a/jstests/core/list_indexes_invalid.js +++ b/jstests/core/list_indexes_invalid.js @@ -8,7 +8,7 @@ var coll = db.list_indexes_invalid; coll.drop(); assert.commandWorked(coll.getDB().createCollection(coll.getName())); -assert.commandWorked(coll.ensureIndex({a: 1}, {unique: true})); +assert.commandWorked(coll.createIndex({a: 1}, {unique: true})); assert.throws(function() { getListIndexesCursor(coll, {cursor: 0}); diff --git a/jstests/core/minmax.js b/jstests/core/minmax.js index 14f4ed0ec2c..b4f181689a2 100644 --- a/jstests/core/minmax.js +++ b/jstests/core/minmax.js @@ -16,7 +16,7 @@ function addData() { assert.commandWorked(coll.save({a: 2, b: 2})); } -assert.commandWorked(coll.ensureIndex({a: 1, b: 1})); +assert.commandWorked(coll.createIndex({a: 1, b: 1})); addData(); assert.eq(1, coll.find().hint({a: 1, b: 1}).min({a: 1, b: 2}).max({a: 2, b: 1}).toArray().length); @@ -31,7 +31,7 @@ assert.eq(3, coll.find().hint({a: 1, b: 1}).max({a: 2, b: 1.5}).hint({a: 1, b: 1}).toArray().length); coll.drop(); -assert.commandWorked(coll.ensureIndex({a: 1, b: -1})); +assert.commandWorked(coll.createIndex({a: 1, b: -1})); addData(); assert.eq(4, coll.find().hint({a: 1, b: -1}).min({a: 1, b: 2}).toArray().length); assert.eq(4, coll.find().hint({a: 1, b: -1}).max({a: 2, b: 0.5}).toArray().length); @@ -78,7 +78,7 @@ error = assert.throws(function() { assert.eq(error.code, ErrorCodes.NoQueryExecutionPlans); coll.drop(); -assert.commandWorked(coll.ensureIndex({a: 1})); +assert.commandWorked(coll.createIndex({a: 1})); for (let i = 0; i < 10; ++i) { assert.commandWorked(coll.save({_id: i, a: i})); } @@ -103,7 +103,7 @@ assert.eq(error.code, 51175); coll.drop(); addData(); -assert.commandWorked(coll.ensureIndex({a: 1, b: 1})); +assert.commandWorked(coll.createIndex({a: 1, b: 1})); error = assert.throws(function() { coll.find().min({a: 1, b: 2}).max({a: 1, b: 2}).hint({a: 1, b: 1}).toArray(); @@ -112,7 +112,7 @@ assert.eq(error.code, 51175); // Test ascending index. coll.drop(); -assert.commandWorked(coll.ensureIndex({a: 1})); +assert.commandWorked(coll.createIndex({a: 1})); assert.commandWorked(coll.insert({a: 3})); assert.commandWorked(coll.insert({a: 4})); assert.commandWorked(coll.insert({a: 5})); @@ -134,7 +134,7 @@ assert(!cursor.hasNext()); // Test descending index. assert.commandWorked(coll.dropIndexes()); -assert.commandWorked(coll.ensureIndex({a: -1})); +assert.commandWorked(coll.createIndex({a: -1})); cursor = coll.find().hint({a: -1}).min({a: 4}); if (FixtureHelpers.numberOfShardsForCollection(coll) === 1) { diff --git a/jstests/core/mr_multikey_deduping.js b/jstests/core/mr_multikey_deduping.js index 604635a67fc..e3f729ef16f 100644 --- a/jstests/core/mr_multikey_deduping.js +++ b/jstests/core/mr_multikey_deduping.js @@ -39,7 +39,7 @@ outColl.drop(); assert(outColl.drop()); // Now test that we get the same results when there's an index present. - assert.commandWorked(coll.ensureIndex({arr: 1})); + assert.commandWorked(coll.createIndex({arr: 1})); res = assert.commandWorked(coll.mapReduce( mapFn, reduceFn, {out: {merge: outColl.getName()}, query: {arr: {$gte: 0}}})); assert(outColl.drop()); @@ -93,7 +93,7 @@ outColl.drop(); resultsEq([{_id: "cat", value: 1}, {_id: "dog", value: 1}], resultsNoIndexEqualityOnName)); assert(resultsEq(resultsNoIndexNoQuery, resultsNoIndexRangeOnName)); - assert.commandWorked(coll.ensureIndex({name: 1, tags: 1})); + assert.commandWorked(coll.createIndex({name: 1, tags: 1})); const resultsIndexedNoQuery = assert diff --git a/jstests/core/mr_sort.js b/jstests/core/mr_sort.js index df98e6a6d3d..c1ce7d3861b 100644 --- a/jstests/core/mr_sort.js +++ b/jstests/core/mr_sort.js @@ -12,7 +12,7 @@ t = db.mr_sort; t.drop(); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); t.insert({x: 1}); t.insert({x: 10}); diff --git a/jstests/core/multi.js b/jstests/core/multi.js index c7853b18f25..ac961ed7a9c 100644 --- a/jstests/core/multi.js +++ b/jstests/core/multi.js @@ -1,7 +1,7 @@ t = db.jstests_multi; t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.save({a: [1, 2]}); assert.eq(1, t.find({a: {$gt: 0}}).count(), "A"); assert.eq(1, t.find({a: {$gt: 0}}).toArray().length, "B"); diff --git a/jstests/core/multi2.js b/jstests/core/multi2.js index 8c1c4ea5f3c..64473e4de98 100644 --- a/jstests/core/multi2.js +++ b/jstests/core/multi2.js @@ -10,13 +10,13 @@ t.save({}); assert.eq(3, t.find({x: 1}).count(), "A"); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); assert.eq(3, t.find({x: 1}).count(), "B"); assert.eq(4, t.find().sort({x: 1, a: 1}).count(), "s1"); assert.eq(1, t.find({x: 1, a: null}).count(), "B2"); t.dropIndex({x: 1}); -t.ensureIndex({x: 1, a: 1}); +t.createIndex({x: 1, a: 1}); assert.eq(3, t.find({x: 1}).count(), "C"); // SERVER-279 assert.eq(4, t.find().sort({x: 1, a: 1}).count(), "s2"); assert.eq(1, t.find({x: 1, a: null}).count(), "C2"); diff --git a/jstests/core/multikey_geonear.js b/jstests/core/multikey_geonear.js index ad24afb0c98..4b1cd5eb482 100644 --- a/jstests/core/multikey_geonear.js +++ b/jstests/core/multikey_geonear.js @@ -16,7 +16,7 @@ function checkResults(cursor) { assert(!cursor.hasNext()); } -t.ensureIndex({a: 1, b: "2dsphere"}); +t.createIndex({a: 1, b: "2dsphere"}); t.insert({_id: 0, a: 0, b: {type: "Point", coordinates: [0, 0]}}); t.insert({_id: 1, a: 0, b: {type: "Point", coordinates: [1, 1]}}); @@ -33,7 +33,7 @@ checkResults(cursor); // Repeat these tests for a 2d index. t.drop(); -t.ensureIndex({a: "2d", b: 1}); +t.createIndex({a: "2d", b: 1}); t.insert({_id: 0, a: [0, 0], b: 0}); t.insert({_id: 1, a: [1, 1], b: 1}); t.insert({_id: 2, a: [2, 2], b: 2}); @@ -47,7 +47,7 @@ checkResults(cursor); // The fields in the compound 2dsphere index share a prefix. t.drop(); -t.ensureIndex({"a.b": 1, "a.c": "2dsphere"}); +t.createIndex({"a.b": 1, "a.c": "2dsphere"}); t.insert({_id: 0, a: [{b: 0}, {c: {type: "Point", coordinates: [0, 0]}}]}); t.insert({_id: 1, a: [{b: 1}, {c: {type: "Point", coordinates: [1, 1]}}]}); t.insert({_id: 2, a: [{b: 2}, {c: {type: "Point", coordinates: [2, 2]}}]}); @@ -66,7 +66,7 @@ assert(!cursor.hasNext()); // The fields in the compound 2d index share a prefix. t.drop(); -t.ensureIndex({"a.b": "2d", "a.c": 1}); +t.createIndex({"a.b": "2d", "a.c": 1}); t.insert({_id: 0, a: [{b: [0, 0]}, {c: 0}]}); t.insert({_id: 1, a: [{b: [1, 1]}, {c: 1}]}); t.insert({_id: 2, a: [{b: [2, 2]}, {c: 2}]}); diff --git a/jstests/core/ne1.js b/jstests/core/ne1.js index 2128bd3a936..5069637eb30 100644 --- a/jstests/core/ne1.js +++ b/jstests/core/ne1.js @@ -6,5 +6,5 @@ t.save({x: 2}); t.save({x: 3}); assert.eq(2, t.find({x: {$ne: 2}}).itcount(), "A"); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); assert.eq(2, t.find({x: {$ne: 2}}).itcount(), "B"); diff --git a/jstests/core/ne2.js b/jstests/core/ne2.js index db2ee7b01e5..5fef4f1d630 100644 --- a/jstests/core/ne2.js +++ b/jstests/core/ne2.js @@ -5,7 +5,7 @@ t = db.jstests_ne2; t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.save({a: -0.5}); t.save({a: 0}); diff --git a/jstests/core/nestedarr1.js b/jstests/core/nestedarr1.js index 7edef9db512..248a70b5f78 100644 --- a/jstests/core/nestedarr1.js +++ b/jstests/core/nestedarr1.js @@ -21,7 +21,7 @@ function makeNestArr(depth) { let collection = db.arrNestTest; collection.drop(); -assert.commandWorked(collection.ensureIndex({a: 1})); +assert.commandWorked(collection.createIndex({a: 1})); const kMaxDocumentDepthSoftLimit = 100; const kJavaScriptMaxDepthLimit = 150; diff --git a/jstests/core/nestedobj1.js b/jstests/core/nestedobj1.js index 44fdd4599d7..ba97f326934 100644 --- a/jstests/core/nestedobj1.js +++ b/jstests/core/nestedobj1.js @@ -19,7 +19,7 @@ function makeNestObj(depth) { let collection = db.objNestTest; collection.drop(); -assert.commandWorked(collection.ensureIndex({a: 1})); +assert.commandWorked(collection.createIndex({a: 1})); const kMaxDocumentDepthSoftLimit = 100; const kJavaScriptMaxDepthLimit = 150; diff --git a/jstests/core/nin.js b/jstests/core/nin.js index d8a254357ba..b9887e48828 100644 --- a/jstests/core/nin.js +++ b/jstests/core/nin.js @@ -57,5 +57,5 @@ doTest = function(n) { doTest("no index"); t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); doTest("with index"); diff --git a/jstests/core/not1.js b/jstests/core/not1.js index 1039ae7c910..0726895ebbd 100644 --- a/jstests/core/not1.js +++ b/jstests/core/not1.js @@ -16,5 +16,5 @@ function test(name) { } test("no index"); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); test("with index"); diff --git a/jstests/core/not2.js b/jstests/core/not2.js index 0cd9209ce2d..31b2efcfa02 100644 --- a/jstests/core/not2.js +++ b/jstests/core/not2.js @@ -86,6 +86,6 @@ function doTest() { doTest(); // Run the test with an index present. -assert.commandWorked(coll.ensureIndex({i: 1})); +assert.commandWorked(coll.createIndex({i: 1})); doTest(); }()); diff --git a/jstests/core/not3.js b/jstests/core/not3.js index 9f3014f2c1a..eac6bf8f047 100644 --- a/jstests/core/not3.js +++ b/jstests/core/not3.js @@ -4,7 +4,7 @@ var t = db.jstests_not3; t.drop(); -t.ensureIndex({arr: 1}); +t.createIndex({arr: 1}); t.save({_id: 0, arr: [1, 2, 3]}); t.save({_id: 1, arr: [10, 11]}); diff --git a/jstests/core/notablescan.js b/jstests/core/notablescan.js index eca1bd2e787..adad7f1b725 100644 --- a/jstests/core/notablescan.js +++ b/jstests/core/notablescan.js @@ -44,7 +44,7 @@ try { assert.includes(err.toString(), "hint $natural is not allowed, because 'notablescan' is enabled"); - t.ensureIndex({a: 1}); + t.createIndex({a: 1}); assert.eq(0, t.find({a: 1, b: 1}).itcount()); assert.eq(1, t.find({a: 1, b: null}).itcount()); diff --git a/jstests/core/numberlong2.js b/jstests/core/numberlong2.js index 4eadb744131..dad87fe30aa 100644 --- a/jstests/core/numberlong2.js +++ b/jstests/core/numberlong2.js @@ -8,7 +8,7 @@ t = db.jstests_numberlong2; t.drop(); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); function chk(longNum) { t.remove({}); diff --git a/jstests/core/numberlong4.js b/jstests/core/numberlong4.js index f81a9599e21..d7d73898b34 100644 --- a/jstests/core/numberlong4.js +++ b/jstests/core/numberlong4.js @@ -6,7 +6,7 @@ t.drop(); if (0) { // SERVER-3719 - t.ensureIndex({x: 1}); + t.createIndex({x: 1}); Random.setRandomSeed(); diff --git a/jstests/core/or1.js b/jstests/core/or1.js index c5975a058f2..d90947d5f87 100644 --- a/jstests/core/or1.js +++ b/jstests/core/or1.js @@ -61,13 +61,13 @@ doTest(); // not part of SERVER-1003, but good check for subseq. implementations t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); doTest(); t.drop(); -t.ensureIndex({b: 1}); +t.createIndex({b: 1}); doTest(); t.drop(); -t.ensureIndex({a: 1, b: 1}); +t.createIndex({a: 1, b: 1}); doTest(); diff --git a/jstests/core/or2.js b/jstests/core/or2.js index 5b520197eba..508b3294931 100644 --- a/jstests/core/or2.js +++ b/jstests/core/or2.js @@ -72,17 +72,17 @@ doTest = function(index) { doTest(false); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); doTest(); t.drop(); -t.ensureIndex({x: 1, a: 1}); +t.createIndex({x: 1, a: 1}); doTest(); t.drop(); -t.ensureIndex({x: 1, b: 1}); +t.createIndex({x: 1, b: 1}); doTest(); t.drop(); -t.ensureIndex({x: 1, a: 1, b: 1}); +t.createIndex({x: 1, a: 1, b: 1}); doTest(); diff --git a/jstests/core/or3.js b/jstests/core/or3.js index 22a26d571ca..26628927c87 100644 --- a/jstests/core/or3.js +++ b/jstests/core/or3.js @@ -63,17 +63,17 @@ doTest = function(index) { doTest(false); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); doTest(); t.drop(); -t.ensureIndex({x: 1, a: 1}); +t.createIndex({x: 1, a: 1}); doTest(); t.drop(); -t.ensureIndex({x: 1, b: 1}); +t.createIndex({x: 1, b: 1}); doTest(); t.drop(); -t.ensureIndex({x: 1, a: 1, b: 1}); +t.createIndex({x: 1, a: 1, b: 1}); doTest(); diff --git a/jstests/core/or4.js b/jstests/core/or4.js index f065ccbec86..e095eb9961c 100644 --- a/jstests/core/or4.js +++ b/jstests/core/or4.js @@ -14,8 +14,8 @@ const coll = db.or4; coll.drop(); db.getCollection("mrOutput").drop(); -coll.ensureIndex({a: 1}); -coll.ensureIndex({b: 1}); +coll.createIndex({a: 1}); +coll.createIndex({b: 1}); assert.commandWorked(coll.insert({a: 2})); assert.commandWorked(coll.insert({b: 3})); diff --git a/jstests/core/or5.js b/jstests/core/or5.js index 40d7792eeeb..eed4c3fc62d 100644 --- a/jstests/core/or5.js +++ b/jstests/core/or5.js @@ -6,10 +6,10 @@ t = db.jstests_or5; t.drop(); -t.ensureIndex({a: 1}); -t.ensureIndex({b: 1}); +t.createIndex({a: 1}); +t.createIndex({b: 1}); -t.ensureIndex({c: 1}); +t.createIndex({c: 1}); t.save({a: 2}); t.save({b: 3}); @@ -36,7 +36,7 @@ for (i = 2; i <= 7; ++i) { assert.eq.automsg("6", "t.find( {$or:[{a:2},{b:3},{c:6}]} ).batchSize( i ).toArray().length"); } -t.ensureIndex({z: "2d"}); +t.createIndex({z: "2d"}); assert.throws.automsg(function() { return t.find({$or: [{z: {$near: [50, 50]}}, {a: 2}]}).toArray(); @@ -45,9 +45,9 @@ assert.throws.automsg(function() { function reset() { t.drop(); - t.ensureIndex({a: 1}); - t.ensureIndex({b: 1}); - t.ensureIndex({c: 1}); + t.createIndex({a: 1}); + t.createIndex({b: 1}); + t.createIndex({c: 1}); t.save({a: 2}); t.save({a: 2}); diff --git a/jstests/core/or6.js b/jstests/core/or6.js index 144f9ed7e9e..7b18e1c219a 100644 --- a/jstests/core/or6.js +++ b/jstests/core/or6.js @@ -6,8 +6,8 @@ var t = db.jstests_orq; t.drop(); -t.ensureIndex({a: 1, c: 1}); -t.ensureIndex({b: 1, c: 1}); +t.createIndex({a: 1, c: 1}); +t.createIndex({b: 1, c: 1}); t.save({a: 1, c: 9}); t.save({a: 1, c: 10}); diff --git a/jstests/core/or7.js b/jstests/core/or7.js index d824a90aa81..e639a195739 100644 --- a/jstests/core/or7.js +++ b/jstests/core/or7.js @@ -3,7 +3,7 @@ t = db.jstests_or7; t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.save({a: 2}); assert.eq.automsg("1", "t.count( {$or:[{a:{$in:[1,3]}},{a:2}]} )"); diff --git a/jstests/core/or8.js b/jstests/core/or8.js index 41537dbdf83..4af81ec4829 100644 --- a/jstests/core/or8.js +++ b/jstests/core/or8.js @@ -14,7 +14,7 @@ t.find({"$or": [{"PropA": {"$lt": "b"}}, {"PropA": {"$lt": "b", "$gt": "a"}}]}). t.save({a: 1}); t.save({a: 3}); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.find({$or: [{a: {$in: []}}]}).toArray(); assert.eq.automsg("2", "t.find({ $or: [ { a: {$in:[]} }, {a:1}, {a:3} ] } ).toArray().length"); assert.eq.automsg("2", "t.find({ $or: [ {a:1}, { a: {$in:[]} }, {a:3} ] } ).toArray().length"); @@ -24,8 +24,8 @@ assert.eq.automsg("2", "t.find({ $or: [ {a:1}, {a:3}, { a: {$in:[]} } ] } ).toAr t.drop(); t.save({a: {b: 1, c: 1}}); -t.ensureIndex({'a.b': 1}); -t.ensureIndex({'a.c': 1}); +t.createIndex({'a.b': 1}); +t.createIndex({'a.c': 1}); assert.eq(1, t.find({$or: [{'a.b': 1}, {'a.c': 1}]}).itcount()); t.remove({}); diff --git a/jstests/core/or9.js b/jstests/core/or9.js index 68814c684cb..4938e84ca04 100644 --- a/jstests/core/or9.js +++ b/jstests/core/or9.js @@ -5,7 +5,7 @@ t = db.jstests_or9; t.drop(); -t.ensureIndex({a: 1, b: 1}); +t.createIndex({a: 1, b: 1}); t.save({a: 2, b: 2}); diff --git a/jstests/core/or_inexact.js b/jstests/core/or_inexact.js index d6a51d66259..0584be98d6d 100644 --- a/jstests/core/or_inexact.js +++ b/jstests/core/or_inexact.js @@ -20,7 +20,7 @@ var cursor; // Case 1: An EXACT predicate and an INEXACT_COVERED t.drop(); -t.ensureIndex({name: 1}); +t.createIndex({name: 1}); t.insert({_id: 0, name: "thomas"}); t.insert({_id: 1, name: "alexandra"}); cursor = t.find({$or: [{name: "thomas"}, {name: /^alexand(er|ra)/}]}); @@ -28,7 +28,7 @@ assert.eq(2, cursor.itcount(), "case 1"); // Case 2: Two INEXACT_COVERED predicates. t.drop(); -t.ensureIndex({name: 1}); +t.createIndex({name: 1}); t.insert({_id: 0, name: "thomas"}); t.insert({_id: 1, name: "alexandra"}); cursor = t.find({$or: [{name: /omas/}, {name: /^alexand(er|ra)/}]}); @@ -36,7 +36,7 @@ assert.eq(2, cursor.itcount(), "case 2"); // Case 3: An EXACT, and INEXACT_COVERED, and an INEXACT_FETCH. t.drop(); -t.ensureIndex({names: 1}); +t.createIndex({names: 1}); t.insert({_id: 0, names: ["thomas", "alexandra"]}); t.insert({_id: 1, names: "frank"}); t.insert({_id: 2, names: "alice"}); @@ -47,7 +47,7 @@ assert.eq(3, cursor.itcount(), "case 3"); // Case 4: Two INEXACT_FETCH. t.drop(); -t.ensureIndex({names: 1}); +t.createIndex({names: 1}); t.insert({_id: 0, names: ["thomas", "alexandra"]}); t.insert({_id: 1, names: ["frank", "alice"]}); t.insert({_id: 2, names: "frank"}); @@ -58,8 +58,8 @@ assert.eq(2, cursor.itcount(), "case 4"); // Case 5: Two indices. One has EXACT and INEXACT_COVERED. The other // has EXACT and INEXACT_FETCH. t.drop(); -t.ensureIndex({first: 1}); -t.ensureIndex({last: 1}); +t.createIndex({first: 1}); +t.createIndex({last: 1}); t.insert({_id: 0, first: "frank", last: "smith"}); t.insert({_id: 1, first: "john", last: "doe"}); t.insert({_id: 2, first: "dave", last: "st"}); @@ -71,7 +71,7 @@ assert.eq(4, cursor.itcount(), "case 5"); // Case 6: Multikey with only EXACT predicates. t.drop(); -t.ensureIndex({names: 1}); +t.createIndex({names: 1}); t.insert({_id: 0, names: ["david", "dave"]}); t.insert({_id: 1, names: ["joseph", "joe", "joey"]}); cursor = t.find({$or: [{names: "dave"}, {names: "joe"}]}); @@ -79,7 +79,7 @@ assert.eq(2, cursor.itcount(), "case 6"); // Case 7: Multikey with EXACT and INEXACT_COVERED. t.drop(); -t.ensureIndex({names: 1}); +t.createIndex({names: 1}); t.insert({_id: 0, names: ["david", "dave"]}); t.insert({_id: 1, names: ["joseph", "joe", "joey"]}); cursor = t.find({$or: [{names: "dave"}, {names: /joe/}]}); @@ -87,8 +87,8 @@ assert.eq(2, cursor.itcount(), "case 7"); // Case 8: Text with EXACT. t.drop(); -t.ensureIndex({pre: 1, names: "text"}); -t.ensureIndex({other: 1}); +t.createIndex({pre: 1, names: "text"}); +t.createIndex({other: 1}); t.insert({_id: 0, pre: 3, names: "david dave", other: 1}); t.insert({_id: 1, pre: 4, names: "joseph joe joey", other: 2}); cursor = t.find({$or: [{$text: {$search: "dave"}, pre: 3}, {other: 2}]}); @@ -96,8 +96,8 @@ assert.eq(2, cursor.itcount(), "case 8"); // Case 9: Text with INEXACT_COVERED. t.drop(); -t.ensureIndex({pre: 1, names: "text"}); -t.ensureIndex({other: 1}); +t.createIndex({pre: 1, names: "text"}); +t.createIndex({other: 1}); t.insert({_id: 0, pre: 3, names: "david dave", other: "foo"}); t.insert({_id: 1, pre: 5, names: "david dave", other: "foo"}); t.insert({_id: 2, pre: 4, names: "joseph joe joey", other: "bar"}); @@ -106,8 +106,8 @@ assert.eq(2, cursor.itcount(), "case 9"); // Case 10: Text requiring filter with INEXACT_COVERED. t.drop(); -t.ensureIndex({pre: 1, names: "text"}); -t.ensureIndex({other: 1}); +t.createIndex({pre: 1, names: "text"}); +t.createIndex({other: 1}); t.insert({_id: 0, pre: 3, names: "david dave", other: "foo"}); t.insert({_id: 1, pre: 3, names: "david dave", other: "foo"}); t.insert({_id: 2, pre: 4, names: "joseph joe joey", other: "bar"}); @@ -116,7 +116,7 @@ assert.eq(3, cursor.itcount(), "case 10"); // Case 11: GEO with non-geo, same index, 2dsphere. t.drop(); -t.ensureIndex({pre: 1, loc: "2dsphere"}); +t.createIndex({pre: 1, loc: "2dsphere"}); t.insert({_id: 0, pre: 3, loc: {type: "Point", coordinates: [40, 5]}}); t.insert({_id: 1, pre: 4, loc: {type: "Point", coordinates: [0, 0]}}); cursor = t.find({ @@ -149,7 +149,7 @@ assert.eq(2, cursor.itcount(), "case 11"); // Case 12: GEO with non-geo, same index, 2d. t.drop(); -t.ensureIndex({pre: 1, loc: "2d"}); +t.createIndex({pre: 1, loc: "2d"}); t.insert({_id: 0, pre: 3, loc: {type: "Point", coordinates: [40, 5]}}); t.insert({_id: 1, pre: 4, loc: {type: "Point", coordinates: [0, 0]}}); cursor = t.find({ @@ -182,7 +182,7 @@ assert.eq(2, cursor.itcount(), "case 12"); // Case 13: $elemMatch object. t.drop(); -t.ensureIndex({"a.b": 1}); +t.createIndex({"a.b": 1}); t.insert({_id: 0, a: [{b: 1}, {b: 2}]}); t.insert({_id: 1, a: [{b: 3}, {b: 4}]}); cursor = t.find({$or: [{a: {$elemMatch: {b: {$lte: 1}}}}, {a: {$elemMatch: {b: {$gte: 4}}}}]}); @@ -190,7 +190,7 @@ assert.eq(2, cursor.itcount(), "case 13"); // Case 14: $elemMatch object, below an AND. t.drop(); -t.ensureIndex({"a.b": 1}); +t.createIndex({"a.b": 1}); t.insert({_id: 0, a: [{b: 1}, {b: 2}]}); t.insert({_id: 1, a: [{b: 2}, {b: 4}]}); cursor = @@ -199,7 +199,7 @@ assert.eq(2, cursor.itcount(), "case 14"); // Case 15: $or below $elemMatch. t.drop(); -t.ensureIndex({"a.b": 1}); +t.createIndex({"a.b": 1}); t.insert({_id: 0, a: [{b: 1}, {b: 2}]}); t.insert({_id: 1, a: [{b: 2}, {b: 4}]}); t.insert({_id: 2, a: {b: 4}}); @@ -208,7 +208,7 @@ assert.eq(2, cursor.itcount(), "case 15"); // Case 16: $or below $elemMatch with INEXACT_COVERED. t.drop(); -t.ensureIndex({"a.b": 1}); +t.createIndex({"a.b": 1}); t.insert({_id: 0, a: [{b: "x"}, {b: "y"}]}); t.insert({_id: 1, a: [{b: "y"}, {b: ["y", "z"]}]}); t.insert({_id: 2, a: {b: ["y", "z"]}}); @@ -217,7 +217,7 @@ assert.eq(2, cursor.itcount(), "case 16"); // Case 17: case from SERVER-14030. t.drop(); -t.ensureIndex({number: 1}); +t.createIndex({number: 1}); t.insert({number: null, user_id: 1}); t.insert({number: 2, user_id: 1}); t.insert({number: 1, user_id: 1}); @@ -226,7 +226,7 @@ assert.eq(3, cursor.itcount(), "case 17"); // Case 18: $in with EXACT and INEXACT_COVERED. t.drop(); -t.ensureIndex({name: 1}); +t.createIndex({name: 1}); t.insert({_id: 0, name: "thomas"}); t.insert({_id: 1, name: "alexandra"}); cursor = t.find({name: {$in: ["thomas", /^alexand(er|ra)/]}}); @@ -234,7 +234,7 @@ assert.eq(2, cursor.itcount(), "case 18"); // Case 19: $in with EXACT, INEXACT_COVERED, and INEXACT_FETCH. t.drop(); -t.ensureIndex({name: 1}); +t.createIndex({name: 1}); t.insert({_id: 0, name: "thomas"}); t.insert({_id: 1, name: "alexandra"}); t.insert({_id: 2}); @@ -243,8 +243,8 @@ assert.eq(3, cursor.itcount(), "case 19"); // Case 20: $in with EXACT, INEXACT_COVERED, and INEXACT_FETCH, two indices. t.drop(); -t.ensureIndex({a: 1}); -t.ensureIndex({b: 1}); +t.createIndex({a: 1}); +t.createIndex({b: 1}); t.insert({_id: 0, a: "x", b: "y"}); t.insert({_id: 1, a: "z", b: "z"}); t.insert({_id: 2}); @@ -256,7 +256,7 @@ assert.eq(5, cursor.itcount(), "case 19"); // Case 21: two $geoWithin that collapse to a single GEO index scan. t.drop(); -t.ensureIndex({loc: "2dsphere"}); +t.createIndex({loc: "2dsphere"}); t.insert({_id: 0, loc: {type: "Point", coordinates: [40, 5]}}); t.insert({_id: 1, loc: {type: "Point", coordinates: [0, 0]}}); cursor = t.find({ diff --git a/jstests/core/ora.js b/jstests/core/ora.js index 06d8f39c48f..ca07516cae3 100644 --- a/jstests/core/ora.js +++ b/jstests/core/ora.js @@ -19,7 +19,7 @@ assert.eq.automsg("10", "t.find({$or: [{$where: 'this.x === 2'}, {x: {$ne: 2}}]} // geo t.drop(); -t.ensureIndex({loc: "2d"}); +t.createIndex({loc: "2d"}); assert.throws(function() { t.find({$or: [{loc: {$near: [11, 11]}}]}).limit(1).next(); diff --git a/jstests/core/orb.js b/jstests/core/orb.js index 345ac92d26e..aa75bb97e0b 100644 --- a/jstests/core/orb.js +++ b/jstests/core/orb.js @@ -4,14 +4,14 @@ var t = db.jstests_orb; t.drop(); t.save({a: 1}); -t.ensureIndex({a: -1}); +t.createIndex({a: -1}); assert.eq.automsg("1", "t.count( {$or: [ { a: { $gt:0,$lt:2 } }, { a: { $gt:-1,$lt:3 } } ] } )"); t.drop(); t.save({a: 1, b: 1}); -t.ensureIndex({a: 1, b: -1}); +t.createIndex({a: 1, b: -1}); assert.eq.automsg("1", "t.count( {$or: [ { a: { $gt:0,$lt:2 } }, { a: { $gt:-1,$lt:3 } } ] } )"); assert.eq.automsg( diff --git a/jstests/core/orc.js b/jstests/core/orc.js index dc46d6de4ad..001d6f4bc9f 100644 --- a/jstests/core/orc.js +++ b/jstests/core/orc.js @@ -20,7 +20,7 @@ t.drop(); // possible to write a more // robust test. -t.ensureIndex({a: -1, b: 1, c: 1}); +t.createIndex({a: -1, b: 1, c: 1}); // sanity test t.save({a: null, b: 4, c: 4}); diff --git a/jstests/core/ord.js b/jstests/core/ord.js index ddbae540ffc..4a76f831246 100644 --- a/jstests/core/ord.js +++ b/jstests/core/ord.js @@ -16,8 +16,8 @@ load("jstests/libs/fixture_helpers.js"); // For FixtureHelpers. const t = db.jstests_ord; t.drop(); -t.ensureIndex({a: 1}); -t.ensureIndex({b: 1}); +t.createIndex({a: 1}); +t.createIndex({b: 1}); for (let i = 0; i < 80; ++i) { t.save({a: 1}); diff --git a/jstests/core/ore.js b/jstests/core/ore.js index 959f43f5101..756db6215c5 100644 --- a/jstests/core/ore.js +++ b/jstests/core/ore.js @@ -4,8 +4,8 @@ t = db.jstests_ore; t.drop(); -t.ensureIndex({a: -1}); -t.ensureIndex({b: 1}); +t.createIndex({a: -1}); +t.createIndex({b: 1}); t.save({a: 1, b: 1}); t.save({a: 2, b: 1}); diff --git a/jstests/core/org.js b/jstests/core/org.js index 7479db062e4..0c6808330c8 100644 --- a/jstests/core/org.js +++ b/jstests/core/org.js @@ -5,8 +5,8 @@ t = db.jstests_org; t.drop(); -t.ensureIndex({a: 1}, {sparse: true}); -t.ensureIndex({b: 1}); +t.createIndex({a: 1}, {sparse: true}); +t.createIndex({b: 1}); t.remove({}); t.save({a: 1, b: 2}); diff --git a/jstests/core/orh.js b/jstests/core/orh.js index 1ceed1d501f..91ce121e5a4 100644 --- a/jstests/core/orh.js +++ b/jstests/core/orh.js @@ -5,8 +5,8 @@ t = db.jstests_orh; t.drop(); -t.ensureIndex({a: 1}, {sparse: true}); -t.ensureIndex({b: 1, a: 1}); +t.createIndex({a: 1}, {sparse: true}); +t.createIndex({b: 1, a: 1}); t.remove({}); t.save({b: 2}); diff --git a/jstests/core/orj.js b/jstests/core/orj.js index 0ec304d9e52..deee0c4821c 100644 --- a/jstests/core/orj.js +++ b/jstests/core/orj.js @@ -84,26 +84,26 @@ function check() { check(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); check(); t.dropIndexes(); -t.ensureIndex({b: 1}); +t.createIndex({b: 1}); check(); t.dropIndexes(); -t.ensureIndex({a: 1}); -t.ensureIndex({b: 1}); +t.createIndex({a: 1}); +t.createIndex({b: 1}); check(); t.dropIndexes(); -t.ensureIndex({a: 1, b: 1}); +t.createIndex({a: 1, b: 1}); check(); t.dropIndexes(); -t.ensureIndex({a: 1}); -t.ensureIndex({b: 1}); -t.ensureIndex({a: 1, b: 1}); +t.createIndex({a: 1}); +t.createIndex({b: 1}); +t.createIndex({a: 1, b: 1}); check(); function checkHinted(hint) { diff --git a/jstests/core/ork.js b/jstests/core/ork.js index 7f203c74e5f..9079d3819ba 100644 --- a/jstests/core/ork.js +++ b/jstests/core/ork.js @@ -6,7 +6,7 @@ t = db.jstests_ork; t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.save({a: [1, 2], b: 5}); t.save({a: [2, 4], b: 5}); diff --git a/jstests/core/oro.js b/jstests/core/oro.js index 80684869f6d..aa884d306c6 100644 --- a/jstests/core/oro.js +++ b/jstests/core/oro.js @@ -13,7 +13,7 @@ orClauses = []; for (idxKey = 'a'; idxKey <= 'aaaaaaaaaa'; idxKey += 'a') { idx = {}; idx[idxKey] = 1; - t.ensureIndex(idx); + t.createIndex(idx); for (i = 0; i < 200; ++i) { t.insert(idx); } diff --git a/jstests/core/orp.js b/jstests/core/orp.js index a706d6f4c1a..a2918fc5a56 100644 --- a/jstests/core/orp.js +++ b/jstests/core/orp.js @@ -4,9 +4,9 @@ t = db.jstests_orp; t.drop(); -t.ensureIndex({a: 1}); -t.ensureIndex({b: 1}); -t.ensureIndex({c: 1}); +t.createIndex({a: 1}); +t.createIndex({b: 1}); +t.createIndex({c: 1}); for (i = 0; i < 200; ++i) { t.save({a: 1, b: 1}); @@ -23,7 +23,7 @@ assert.eq(201, t.count({$or: [{a: 1}, {c: 1}, {b: 1}]})); // Deduping results that would normally be index only matches on overlapping and double scanned $or // field regions. t.drop(); -t.ensureIndex({a: 1, b: 1}); +t.createIndex({a: 1, b: 1}); for (i = 0; i < 16; ++i) { for (j = 0; j < 16; ++j) { t.save({a: i, b: j}); @@ -33,8 +33,8 @@ assert.eq(16 * 16, t.count({$or: [{a: {$gte: 0}, b: {$gte: 0}}, {a: {$lte: 16}, // Deduping results from a clause that completed before the multi cursor takeover. t.drop(); -t.ensureIndex({a: 1}); -t.ensureIndex({b: 1}); +t.createIndex({a: 1}); +t.createIndex({b: 1}); t.save({a: 1, b: 200}); for (i = 0; i < 200; ++i) { t.save({b: i}); diff --git a/jstests/core/profile_list_indexes.js b/jstests/core/profile_list_indexes.js index 359dd9e85cf..92389bf5642 100644 --- a/jstests/core/profile_list_indexes.js +++ b/jstests/core/profile_list_indexes.js @@ -19,7 +19,7 @@ const numIndexes = 5; for (let i = 0; i < numIndexes; ++i) { let indexSpec = {}; indexSpec["fakeField_" + i] = 1; - assert.commandWorked(testColl.ensureIndex(indexSpec)); + assert.commandWorked(testColl.createIndex(indexSpec)); } testDB.setProfilingLevel(2); diff --git a/jstests/core/proj_key1.js b/jstests/core/proj_key1.js index af6d6d9d9fe..51ca23d0c37 100644 --- a/jstests/core/proj_key1.js +++ b/jstests/core/proj_key1.js @@ -13,7 +13,7 @@ for (i = 0; i < 10; i++) { t.insert({a: i, b: i}); } -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); assert.eq(as, t.find({a: {$gte: 0}}, {a: 1, _id: 0}).sort({a: 1}).toArray()); assert.eq(as, t.find({a: {$gte: 0}}, {a: 1, _id: 0}).sort({a: 1}).batchSize(2).toArray()); diff --git a/jstests/core/queryoptimizera.js b/jstests/core/queryoptimizera.js index 5daccbba232..55d0d5c424a 100644 --- a/jstests/core/queryoptimizera.js +++ b/jstests/core/queryoptimizera.js @@ -83,7 +83,7 @@ t.find({_id: 0, a: 0}).itcount(); assertNoNewWarnings(); // Warnings should not be printed when an index is added on _id. -t.ensureIndex({_id: 1}); +t.createIndex({_id: 1}); t.find({_id: 0}).itcount(); assertNoNewWarnings(); diff --git a/jstests/core/record_store_count.js b/jstests/core/record_store_count.js index 89dcf8d4cdc..f89f1cfea17 100644 --- a/jstests/core/record_store_count.js +++ b/jstests/core/record_store_count.js @@ -15,7 +15,7 @@ coll.drop(); assert.commandWorked(coll.insert({x: 0})); assert.commandWorked(coll.insert({x: 1})); -assert.commandWorked(coll.ensureIndex({x: 1})); +assert.commandWorked(coll.createIndex({x: 1})); // // Logically empty predicates should use the record store's count. @@ -78,7 +78,7 @@ const kNewIndexSpec = { x: 1, _id: 1 }; -assert.commandWorked(coll.ensureIndex(kNewIndexSpec)); +assert.commandWorked(coll.createIndex(kNewIndexSpec)); testExplainAndExpectStage({ expectedStages: ["COUNT", "SHARDING_FILTER"], unexpectedStages: ["FETCH"], diff --git a/jstests/core/regex3.js b/jstests/core/regex3.js index 46b18c03028..158d0607647 100644 --- a/jstests/core/regex3.js +++ b/jstests/core/regex3.js @@ -14,7 +14,7 @@ t.save({name: "aaron"}); assert.eq(2, t.find({name: /^e.*/}).itcount(), "no index count"); assert.eq( 4, t.find({name: /^e.*/}).explain(true).executionStats.totalDocsExamined, "no index explain"); -t.ensureIndex({name: 1}); +t.createIndex({name: 1}); assert.eq(2, t.find({name: /^e.*/}).itcount(), "index count"); assert.eq(2, t.find({name: /^e.*/}).explain(true).executionStats.totalKeysExamined, @@ -28,7 +28,7 @@ t.save({name: "ac"}); t.save({name: "c"}); assert.eq(3, t.find({name: /^aa*/}).itcount(), "B ni"); -t.ensureIndex({name: 1}); +t.createIndex({name: 1}); assert.eq(3, t.find({name: /^aa*/}).itcount(), "B i 1"); assert.eq(4, t.find({name: /^aa*/}).explain(true).executionStats.totalKeysExamined, "B i 1 e"); @@ -39,5 +39,5 @@ t.drop(); t.save({name: ""}); assert.eq(1, t.find({name: /^a?/}).itcount(), "C 1"); -t.ensureIndex({name: 1}); +t.createIndex({name: 1}); assert.eq(1, t.find({name: /^a?/}).itcount(), "C 2"); diff --git a/jstests/core/regex4.js b/jstests/core/regex4.js index 4ced6d06924..0e631082352 100644 --- a/jstests/core/regex4.js +++ b/jstests/core/regex4.js @@ -17,7 +17,7 @@ assert.eq( // assert.eq( 2 , t.find( { name : { $ne : /^e.*/ } } ).count() , "no index count ne" ); // // SERVER-251 -t.ensureIndex({name: 1}); +t.createIndex({name: 1}); assert.eq(2, t.find({name: /^e.*/}).count(), "index count"); assert.eq(2, diff --git a/jstests/core/regex5.js b/jstests/core/regex5.js index 69537e149e5..d0836a62686 100644 --- a/jstests/core/regex5.js +++ b/jstests/core/regex5.js @@ -31,7 +31,7 @@ doit = function() { }; doit(); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); print("now indexed"); doit(); diff --git a/jstests/core/regex6.js b/jstests/core/regex6.js index 7af6c7d8400..f21152d8c55 100644 --- a/jstests/core/regex6.js +++ b/jstests/core/regex6.js @@ -14,7 +14,7 @@ t.save({name: "bob"}); t.save({name: "aaron"}); t.save({name: "[with]some?symbols"}); -t.ensureIndex({name: 1}); +t.createIndex({name: 1}); assert.eq(0, t.find({name: /^\//}).count(), "index count"); assert.eq( diff --git a/jstests/core/regex7.js b/jstests/core/regex7.js index 290cbe387a9..f864f29be8e 100644 --- a/jstests/core/regex7.js +++ b/jstests/core/regex7.js @@ -17,7 +17,7 @@ assert.eq(/^b/, t.findOne({r: /^b/}).r, '3 1 a'); assert.eq(1, t.count({r: /^b/}), '3 2 a'); // with index -t.ensureIndex({r: 1}); +t.createIndex({r: 1}); assert.eq(/^a/, t.findOne({r: /^a/}).r, '1 1 b'); assert.eq(1, t.count({r: /^a/}), '1 2 b'); assert.eq(/^a/i, t.findOne({r: /^a/i}).r, '2 1 b'); diff --git a/jstests/core/regex8.js b/jstests/core/regex8.js index c92e82e4aa6..d65a6836b26 100644 --- a/jstests/core/regex8.js +++ b/jstests/core/regex8.js @@ -20,5 +20,5 @@ function test(msg) { test("A"); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); test("B"); diff --git a/jstests/core/regex_embed1.js b/jstests/core/regex_embed1.js index baaa8937962..c74ffb4aa32 100644 --- a/jstests/core/regex_embed1.js +++ b/jstests/core/regex_embed1.js @@ -23,5 +23,5 @@ function test(m) { test("A"); -t.ensureIndex({"a.x": 1}); +t.createIndex({"a.x": 1}); test("B"); diff --git a/jstests/core/regexa.js b/jstests/core/regexa.js index b56e2cf405e..694436e87a8 100644 --- a/jstests/core/regexa.js +++ b/jstests/core/regexa.js @@ -13,7 +13,7 @@ function check() { t.save({a: 'a'}); check(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); if (1) { // SERVER-3298 check(); } diff --git a/jstests/core/regexc.js b/jstests/core/regexc.js index d7df4f7d574..e9e2ba613aa 100644 --- a/jstests/core/regexc.js +++ b/jstests/core/regexc.js @@ -7,7 +7,7 @@ var t = db.jstests_regexc; // $and using same index twice t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.save({a: "0"}); t.save({a: "1"}); t.save({a: "10"}); @@ -15,7 +15,7 @@ assert.eq(1, t.find({$and: [{a: /0/}, {a: /1/}]}).itcount()); // implicit $and using compound index twice t.drop(); -t.ensureIndex({a: 1, b: 1}); +t.createIndex({a: 1, b: 1}); t.save({a: "0", b: "1"}); t.save({a: "10", b: "10"}); t.save({a: "10", b: "2"}); @@ -23,7 +23,7 @@ assert.eq(2, t.find({a: /0/, b: /1/}).itcount()); // $or using same index twice t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.save({a: "0"}); t.save({a: "1"}); t.save({a: "2"}); diff --git a/jstests/core/remove.js b/jstests/core/remove.js index 37754c74190..f08792aeca5 100644 --- a/jstests/core/remove.js +++ b/jstests/core/remove.js @@ -6,7 +6,7 @@ t = db.removetest; function f(n, dir) { - t.ensureIndex({x: dir || 1}); + t.createIndex({x: dir || 1}); for (i = 0; i < n; i++) t.save({x: 3, z: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}); diff --git a/jstests/core/remove2.js b/jstests/core/remove2.js index d01c1e2e58c..4193b8dd11f 100644 --- a/jstests/core/remove2.js +++ b/jstests/core/remove2.js @@ -38,10 +38,10 @@ f(); t.drop(); g(); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); t.remove({}); f(); t.drop(); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); g(); })(); diff --git a/jstests/core/remove6.js b/jstests/core/remove6.js index b91d28fa4e5..f60200a8d81 100644 --- a/jstests/core/remove6.js +++ b/jstests/core/remove6.js @@ -23,7 +23,7 @@ function test(n, idx) { pop(); assert.eq(N, t.count(), n + " A " + idx); if (idx) - t.ensureIndex(idx); + t.createIndex(idx); var res = del(); assert(!res.hasWriteError(), "error deleting: " + res.toString()); assert.eq(0, t.count(), n + " B " + idx); diff --git a/jstests/core/remove7.js b/jstests/core/remove7.js index 4a1548fbce2..9cc86329990 100644 --- a/jstests/core/remove7.js +++ b/jstests/core/remove7.js @@ -18,7 +18,7 @@ for (i = 0; i < 1000; i++) { t.save({tags: getTags()}); } -t.ensureIndex({tags: 1}); +t.createIndex({tags: 1}); for (i = 0; i < 200; i++) { for (var j = 0; j < 10; j++) diff --git a/jstests/core/remove9.js b/jstests/core/remove9.js index dc3f84a9c34..4962dd9a06f 100644 --- a/jstests/core/remove9.js +++ b/jstests/core/remove9.js @@ -13,7 +13,7 @@ const t = db.jstests_remove9; t.drop(); -t.ensureIndex({i: 1}); +t.createIndex({i: 1}); const bulk = t.initializeUnorderedBulkOp(); for (let i = 0; i < 1000; ++i) { diff --git a/jstests/core/removea.js b/jstests/core/removea.js index 2c45ee665f4..9fd489b7005 100644 --- a/jstests/core/removea.js +++ b/jstests/core/removea.js @@ -10,7 +10,7 @@ Random.setRandomSeed(); for (let v = 0; v < 2; ++v) { // Try each index version. t.drop(); - t.ensureIndex({a: 1}, {v: v}); + t.createIndex({a: 1}, {v: v}); const S = 100; const B = 100; for (let x = 0; x < S; x++) { diff --git a/jstests/core/removeb.js b/jstests/core/removeb.js index b81c0818d21..d4ea12aa8f6 100644 --- a/jstests/core/removeb.js +++ b/jstests/core/removeb.js @@ -13,7 +13,7 @@ const t = db.jstests_removeb; t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); // Make the index multikey to trigger cursor dedup checking. t.insert({a: [-1, -2]}); diff --git a/jstests/core/removec.js b/jstests/core/removec.js index 500437e8891..560f7405de3 100644 --- a/jstests/core/removec.js +++ b/jstests/core/removec.js @@ -8,7 +8,7 @@ t = db.jstests_removec; t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); /** @return an array containing a sequence of numbers from i to i + 10. */ function runStartingWith(i) { diff --git a/jstests/core/rename.js b/jstests/core/rename.js index 08d254bbe29..a8d888393b5 100644 --- a/jstests/core/rename.js +++ b/jstests/core/rename.js @@ -12,8 +12,8 @@ c.drop(); a.save({a: 1}); a.save({a: 2}); -a.ensureIndex({a: 1}); -a.ensureIndex({b: 1}); +a.createIndex({a: 1}); +a.createIndex({b: 1}); c.save({a: 100}); assert.commandFailed( diff --git a/jstests/core/rename4.js b/jstests/core/rename4.js index 1ce3b30f177..98a9dd80d11 100644 --- a/jstests/core/rename4.js +++ b/jstests/core/rename4.js @@ -124,7 +124,7 @@ good({a: 1, c: 4}, {$rename: {b: 'c.d'}}, {a: 1, c: 4}); // check index t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); function l(start, mod, query, expected) { t.remove({}); diff --git a/jstests/core/rename5.js b/jstests/core/rename5.js index 357d67fc9ee..3d5646c7ee5 100644 --- a/jstests/core/rename5.js +++ b/jstests/core/rename5.js @@ -5,7 +5,7 @@ t = db.jstests_rename5; t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); t.save({b: 1}); t.update({}, {$rename: {a: 'b'}}); diff --git a/jstests/core/rename6.js b/jstests/core/rename6.js index faa36a448dd..1122623c165 100644 --- a/jstests/core/rename6.js +++ b/jstests/core/rename6.js @@ -17,7 +17,7 @@ const dbd = testDB.getCollection(d); dbc.drop(); dbd.drop(); -dbc.ensureIndex({ +dbc.createIndex({ "name": 1, "date": 1, "time": 1, diff --git a/jstests/core/rename7.js b/jstests/core/rename7.js index 8f209e83acd..a538f36e2dc 100644 --- a/jstests/core/rename7.js +++ b/jstests/core/rename7.js @@ -28,8 +28,8 @@ b.drop(); a.save({a: 1}); a.save({a: 2}); a.save({a: 3}); -a.ensureIndex({a: 1}); -a.ensureIndex({b: 1}); +a.createIndex({a: 1}); +a.createIndex({b: 1}); assert.commandWorked(admin.runCommand({renameCollection: "db_a.rename7", to: "db_b.rename7"})); diff --git a/jstests/core/return_key.js b/jstests/core/return_key.js index 9d30477bd54..96c6284ebf4 100644 --- a/jstests/core/return_key.js +++ b/jstests/core/return_key.js @@ -24,8 +24,8 @@ assert.commandWorked(coll.insert({a: 1, b: 3})); assert.commandWorked(coll.insert({a: 2, b: 2})); assert.commandWorked(coll.insert({a: 3, b: 1})); -assert.commandWorked(coll.ensureIndex({a: 1})); -assert.commandWorked(coll.ensureIndex({b: 1})); +assert.commandWorked(coll.createIndex({a: 1})); +assert.commandWorked(coll.createIndex({b: 1})); // Basic returnKey. results = coll.find().hint({a: 1}).sort({a: 1}).returnKey().toArray(); diff --git a/jstests/core/server14747.js b/jstests/core/server14747.js index f9a650defa4..c792f214259 100644 --- a/jstests/core/server14747.js +++ b/jstests/core/server14747.js @@ -10,8 +10,8 @@ var t = db.jstests_server14747; t.drop(); -t.ensureIndex({a: 1, b: 1}); -t.ensureIndex({a: 1, c: 1}); +t.createIndex({a: 1, b: 1}); +t.createIndex({a: 1, c: 1}); t.insert({a: 1}); for (var i = 0; i < 10; i++) { t.find({a: 1}).explain(true); diff --git a/jstests/core/server14753.js b/jstests/core/server14753.js index e8de183f2d7..4fac2e06485 100644 --- a/jstests/core/server14753.js +++ b/jstests/core/server14753.js @@ -7,8 +7,8 @@ var t = db.jstests_server14753; t.drop(); -t.ensureIndex({a: 1}); -t.ensureIndex({b: 1}); +t.createIndex({a: 1}); +t.createIndex({b: 1}); for (var i = 0; i < 20; i++) { t.insert({b: i}); } diff --git a/jstests/core/server9547.js b/jstests/core/server9547.js index 66b17644e15..5e2d6aba566 100644 --- a/jstests/core/server9547.js +++ b/jstests/core/server9547.js @@ -8,7 +8,7 @@ for (var i = 0; i < 10; i++) { t.save({a: i}); } -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); // note: max() value is exclusive upper bound assert.eq(4, t.find({}).max({a: 4}).hint({a: 1}).toArray().length, "no order"); diff --git a/jstests/core/set_type_change.js b/jstests/core/set_type_change.js index 12035cc39a9..a0976b3ea44 100644 --- a/jstests/core/set_type_change.js +++ b/jstests/core/set_type_change.js @@ -12,7 +12,7 @@ var coll = db.set_type_change; coll.drop(); -assert.commandWorked(coll.ensureIndex({a: 1})); +assert.commandWorked(coll.createIndex({a: 1})); assert.commandWorked(coll.insert({a: 2})); diff --git a/jstests/core/show_record_id.js b/jstests/core/show_record_id.js index d111858bc7d..0f2df332354 100644 --- a/jstests/core/show_record_id.js +++ b/jstests/core/show_record_id.js @@ -25,7 +25,7 @@ t.save({}); checkResults(t.find().batchSize(2).showRecordId().toArray()); // Check with a covered index. -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); checkResults(t.find({}, {_id: 0, a: 1}).hint({a: 1}).showRecordId().toArray()); checkResults(t.find({}, {_id: 0, a: 1}).hint({a: 1}).showRecordId().toArray()); diff --git a/jstests/core/skip1.js b/jstests/core/skip1.js index ae8f589d616..3b99e6b4cdd 100644 --- a/jstests/core/skip1.js +++ b/jstests/core/skip1.js @@ -6,7 +6,7 @@ var t = db.jstests_skip1; if (0) { // SERVER-2845 t.drop(); - t.ensureIndex({a: 1}); + t.createIndex({a: 1}); t.save({a: 5}); t.save({a: 5}); t.save({a: 5}); diff --git a/jstests/core/sort1.js b/jstests/core/sort1.js index 39c8d3d333d..2a11771fd16 100644 --- a/jstests/core/sort1.js +++ b/jstests/core/sort1.js @@ -22,7 +22,7 @@ for (var pass = 0; pass < 2; pass++) { assert(coll.find().sort({x: -1})[1].x == 3); assert.eq(coll.find().sort({x: -1}).skip(0)[0].x, 5); assert.eq(coll.find().sort({x: -1}).skip(1)[0].x, 3); - coll.ensureIndex({x: 1}); + coll.createIndex({x: 1}); } assert(coll.validate().valid); @@ -38,7 +38,7 @@ for (var pass = 0; pass < 2; pass++) { assert.eq("a", coll.find().sort({'x': 1}).next().x, "c.2"); assert.eq("zed", coll.find().sort({'x': -1}).limit(1).next().x, "c.3"); assert.eq("zed", coll.find().sort({'x': -1}).next().x, "c.4"); - coll.ensureIndex({x: 1}); + coll.createIndex({x: 1}); } assert(coll.validate().valid); diff --git a/jstests/core/sort10.js b/jstests/core/sort10.js index 167cf74bbfc..6819c76fa5b 100644 --- a/jstests/core/sort10.js +++ b/jstests/core/sort10.js @@ -11,7 +11,7 @@ function checkSorting1(opts) { var d = new Date(-50); for (var pass = 0; pass < 2; pass++) { assert(t.find().sort({x: 1})[0].x.valueOf() == d.valueOf()); - t.ensureIndex({x: 1}, opts); + t.createIndex({x: 1}, opts); t.insert({x: new Date()}); } } @@ -42,10 +42,10 @@ reverseDates = dates.slice(0).reverse(); checkSorting2(dates, 1); checkSorting2(reverseDates, -1); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); checkSorting2(dates, 1); checkSorting2(reverseDates, -1); t.dropIndexes(); -t.ensureIndex({x: -1}); +t.createIndex({x: -1}); checkSorting2(dates, 1); checkSorting2(reverseDates, -1); diff --git a/jstests/core/sort2.js b/jstests/core/sort2.js index ca2d3dc80bf..c584dc48114 100644 --- a/jstests/core/sort2.js +++ b/jstests/core/sort2.js @@ -15,7 +15,7 @@ for (var pass = 0; pass < 2; pass++) { assert(res[0].y.a == 2); assert(res[1].y.a == 5); assert(res.length == 4); - t.ensureIndex({"y.a": 1}); + t.createIndex({"y.a": 1}); } assert(t.validate().valid); @@ -31,5 +31,5 @@ for (var pass = 0; pass < 2; pass++) { for (var i = 0; i < good.length; i++) { assert(good[i].toString() == res[i].x.toString()); } - t.ensureIndex({x: 1}); + t.createIndex({x: 1}); } diff --git a/jstests/core/sort4.js b/jstests/core/sort4.js index 0afe2cebe80..e74df1f4bd6 100644 --- a/jstests/core/sort4.js +++ b/jstests/core/sort4.js @@ -36,10 +36,10 @@ nice({name: 1, prename: 1}, "A,AB,AC,BB,BD", "e1"); assert.commandWorked(coll.insert({name: 'C'})); nice({name: 1, prename: 1}, "A,AB,AC,BB,BD,C", "e2"); // SERVER-282 -assert.commandWorked(coll.ensureIndex({name: 1, prename: 1})); +assert.commandWorked(coll.createIndex({name: 1, prename: 1})); nice({name: 1, prename: 1}, "A,AB,AC,BB,BD,C", "e2ia"); // SERVER-282 assert.commandWorked(coll.dropIndexes()); -assert.commandWorked(coll.ensureIndex({name: 1})); +assert.commandWorked(coll.createIndex({name: 1})); nice({name: 1, prename: 1}, "A,AB,AC,BB,BD,C", "e2ib"); // SERVER-282 }()); diff --git a/jstests/core/sort5.js b/jstests/core/sort5.js index 2f604225d7a..be40802ade4 100644 --- a/jstests/core/sort5.js +++ b/jstests/core/sort5.js @@ -16,7 +16,7 @@ assert.eq([4, 2, 3, 1], return z.x; }), "A no index"); -t.ensureIndex({"y.b": 1, "y.a": -1}); +t.createIndex({"y.b": 1, "y.a": -1}); assert.eq([4, 2, 3, 1], t.find().sort({"y.b": 1, "y.a": -1}).map(function(z) { return z.x; @@ -31,7 +31,7 @@ assert.eq([4, 2, 3, 1], return z.x; }), "B no index"); -t.ensureIndex({"y.b": 1, "_id": -1}); +t.createIndex({"y.b": 1, "_id": -1}); assert.eq([4, 2, 3, 1], t.find().sort({"y.b": 1, _id: -1}).map(function(z) { return z.x; diff --git a/jstests/core/sort6.js b/jstests/core/sort6.js index 2373969f7f6..f2658bbcbad 100644 --- a/jstests/core/sort6.js +++ b/jstests/core/sort6.js @@ -16,7 +16,7 @@ t.insert({_id: 3, c: 2}); assert.eq([3, 2, 1], get(-1), "A1"); // SERVER-635 assert.eq([1, 2, 3], get(1), "A2"); -t.ensureIndex({c: 1}); +t.createIndex({c: 1}); assert.eq([3, 2, 1], get(-1), "B1"); assert.eq([1, 2, 3], get(1), "B2"); @@ -31,7 +31,7 @@ t.insert({_id: 3, c: 2}); assert.eq([3, 2, 1], get(-1), "C1"); // SERVER-635 assert.eq([1, 2, 3], get(1), "C2"); -t.ensureIndex({c: 1}); +t.createIndex({c: 1}); assert.eq([3, 2, 1], get(-1), "D1"); assert.eq([1, 2, 3], get(1), "X2"); diff --git a/jstests/core/sort8.js b/jstests/core/sort8.js index 75d393445a7..65dc2c10fc2 100644 --- a/jstests/core/sort8.js +++ b/jstests/core/sort8.js @@ -10,7 +10,7 @@ t.save({a: [1, 10]}); t.save({a: 5}); unindexedForward = t.find().sort({a: 1}).toArray(); unindexedReverse = t.find().sort({a: -1}).toArray(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); indexedForward = t.find().sort({a: 1}).hint({a: 1}).toArray(); indexedReverse = t.find().sort({a: -1}).hint({a: 1}).toArray(); @@ -25,7 +25,7 @@ assert.eq([1, 10], unindexedReverse[0].a); t.dropIndexes(); unindexedForward = t.find({a: {$gte: 5}}).sort({a: 1}).toArray(); unindexedReverse = t.find({a: {$lte: 5}}).sort({a: -1}).toArray(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); indexedForward = t.find({a: {$gte: 5}}).sort({a: 1}).hint({a: 1}).toArray(); indexedReverse = t.find({a: {$lte: 5}}).sort({a: -1}).hint({a: 1}).toArray(); diff --git a/jstests/core/sort_numeric.js b/jstests/core/sort_numeric.js index df4e914b87b..5ff3e71a066 100644 --- a/jstests/core/sort_numeric.js +++ b/jstests/core/sort_numeric.js @@ -27,7 +27,7 @@ for (var pass = 0; pass < 2; pass++) { assert(t.find({a: 3.0}).count() == 1); assert(t.find({a: 3.0}).length() == 1); - t.ensureIndex({a: 1}); + t.createIndex({a: 1}); } assert(t.validate().valid); diff --git a/jstests/core/sortb.js b/jstests/core/sortb.js index 34fb94951e9..7f24592e84a 100644 --- a/jstests/core/sortb.js +++ b/jstests/core/sortb.js @@ -8,7 +8,7 @@ load("jstests/libs/fixture_helpers.js"); // For FixtureHelpers. const t = db.jstests_sortb; t.drop(); -t.ensureIndex({b: 1}); +t.createIndex({b: 1}); let i; for (i = 0; i < 100; ++i) { diff --git a/jstests/core/sortd.js b/jstests/core/sortd.js index 87c0453cd7a..e18671005e4 100644 --- a/jstests/core/sortd.js +++ b/jstests/core/sortd.js @@ -21,7 +21,7 @@ t.drop(); t.save({a: [1, 2, 3, 4, 5]}); t.save({a: 10}); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); assert.eq(2, t.find({a: {$gt: 0}}).sort({a: 1}).itcount()); assert.eq(2, t.find({a: {$gt: 0}, b: null}).sort({a: 1}).itcount()); @@ -38,7 +38,7 @@ for (i = 2; i <= 9; ++i) { for (i = 0; i < 30; ++i) { t.save({a: 100}); } -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); checkNumSorted(10, t.find({a: {$gte: 0, $lte: 10}}).sort({a: 1})); checkNumSorted(10, t.find({a: {$gte: 0, $lte: 10}, b: null}).sort({a: 1})); @@ -56,7 +56,7 @@ for (i = 2; i <= 199; ++i) { for (i = 0; i < 30; ++i) { t.save({a: 2000}); } -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); checkNumSorted(200, t.find({a: {$gte: 0, $lte: 200}}).sort({a: 1})); checkNumSorted(200, t.find({a: {$gte: 0, $lte: 200}, b: null}).sort({a: 1})); @@ -69,6 +69,6 @@ t.drop(); for (i = 399; i >= 0; --i) { t.save({a: i}); } -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); checkNumSorted(400, t.find({a: {$gte: 0, $lte: 400}, b: null}).batchSize(50).sort({a: 1})); diff --git a/jstests/core/sortf.js b/jstests/core/sortf.js index 6f34d80a59d..adb54f38b9c 100644 --- a/jstests/core/sortf.js +++ b/jstests/core/sortf.js @@ -9,8 +9,8 @@ t = db.jstests_sortf; t.drop(); -t.ensureIndex({a: 1}); -t.ensureIndex({b: 1}); +t.createIndex({a: 1}); +t.createIndex({b: 1}); for (i = 0; i < 100; ++i) { t.save({a: 0, b: 0}); diff --git a/jstests/core/sortg.js b/jstests/core/sortg.js index 64edbce53d0..bdf44f4db7b 100644 --- a/jstests/core/sortg.js +++ b/jstests/core/sortg.js @@ -47,9 +47,9 @@ noMemoryException({$natural: 1}); assert.eq(1, t.getIndexes().length); -t.ensureIndex({a: 1}); -t.ensureIndex({b: 1}); -t.ensureIndex({c: 1}); +t.createIndex({a: 1}); +t.createIndex({b: 1}); +t.createIndex({c: 1}); assert.eq(4, t.getIndexes().length); diff --git a/jstests/core/sorth.js b/jstests/core/sorth.js index 4b5aa02c281..41563caa205 100644 --- a/jstests/core/sorth.js +++ b/jstests/core/sorth.js @@ -84,7 +84,7 @@ function reset(sort, index) { t.save({a: 2, b: 0}); t.save({a: 2, b: 3}); t.save({a: 2, b: 5}); - t.ensureIndex(index); + t.createIndex(index); _sort = sort; _hint = index; } diff --git a/jstests/core/sorti.js b/jstests/core/sorti.js index b6518818683..e30739b4867 100644 --- a/jstests/core/sorti.js +++ b/jstests/core/sorti.js @@ -20,6 +20,6 @@ function checkBOrder(query) { checkBOrder(t.find().sort({a: 1})); checkBOrder(t.find({}, {_id: 0, b: 1}).sort({a: 1})); -t.ensureIndex({b: 1}); +t.createIndex({b: 1}); checkBOrder(t.find({}, {_id: 0, b: 1}).sort({a: 1})); checkBOrder(t.find({}, {_id: 0, b: 1}).sort({a: 1}).hint({b: 1})); diff --git a/jstests/core/sortj.js b/jstests/core/sortj.js index 58125c2c00c..a4e8dd599d4 100644 --- a/jstests/core/sortj.js +++ b/jstests/core/sortj.js @@ -11,7 +11,7 @@ load("jstests/libs/fixture_helpers.js"); // For FixtureHelpers. const t = db.jstests_sortj; t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); const numShards = FixtureHelpers.numberOfShardsForCollection(t); diff --git a/jstests/core/sortk.js b/jstests/core/sortk.js index e207c8f1f78..f1b055c2bcc 100644 --- a/jstests/core/sortk.js +++ b/jstests/core/sortk.js @@ -23,7 +23,7 @@ function resetCollection() { } resetCollection(); -t.ensureIndex({a: 1, b: 1}); +t.createIndex({a: 1, b: 1}); function simpleQuery(extraFields, sort, hint) { query = {a: {$in: [1, 2]}}; @@ -93,7 +93,7 @@ assert.eq(3, simpleQueryWithLimit(-3).itcount()); // The index ordering is reversed. resetCollection(); -t.ensureIndex({a: 1, b: -1}); +t.createIndex({a: 1, b: -1}); // The sort order is consistent with the index order. assert.eq(5, simpleQuery({}, {b: -1}, {a: 1, b: -1}).limit(-1)[0].b); @@ -103,7 +103,7 @@ assert.eq(0, simpleQuery({}, {b: 1}, {a: 1, b: -1}).limit(-1)[0].b); // An equality constraint precedes the $in constraint. t.drop(); -t.ensureIndex({a: 1, b: 1, c: 1}); +t.createIndex({a: 1, b: 1, c: 1}); t.save({a: 0, b: 0, c: -1}); t.save({a: 0, b: 2, c: 1}); t.save({a: 1, b: 1, c: 1}); diff --git a/jstests/core/splitvector.js b/jstests/core/splitvector.js index da117c7d3ef..73903a45bb9 100644 --- a/jstests/core/splitvector.js +++ b/jstests/core/splitvector.js @@ -111,7 +111,7 @@ assert.eq( // ------------------------- // Case 3: empty collection -f.ensureIndex({x: 1}); +f.createIndex({x: 1}); assert.eq( [], db.runCommand({splitVector: "test.jstests_splitvector", keyPattern: {x: 1}, maxChunkSize: 1}) @@ -122,7 +122,7 @@ assert.eq( // Case 4: uniform collection resetCollection(); -f.ensureIndex({x: 1}); +f.createIndex({x: 1}); var case4 = function() { // Get baseline document size @@ -156,7 +156,7 @@ case4(); // Case 5: limit number of split points resetCollection(); -f.ensureIndex({x: 1}); +f.createIndex({x: 1}); var case5 = function() { // Fill collection and get split vector for 1MB maxChunkSize @@ -180,7 +180,7 @@ case5(); // Case 6: limit number of objects in a chunk resetCollection(); -f.ensureIndex({x: 1}); +f.createIndex({x: 1}); var case6 = function() { // Fill collection and get split vector for 1MB maxChunkSize @@ -205,7 +205,7 @@ case6(); // [1111111111111111,2,3) resetCollection(); -f.ensureIndex({x: 1}); +f.createIndex({x: 1}); var case7 = function() { // Fill collection and get split vector for 1MB maxChunkSize @@ -227,7 +227,7 @@ case7(); // [1, 22222222222222, 3) resetCollection(); -f.ensureIndex({x: 1}); +f.createIndex({x: 1}); var case8 = function() { bulkInsertDocsFixedX(f, 9, filler, 1); @@ -251,7 +251,7 @@ case8(); // resetCollection(); -f.ensureIndex({x: 1}); +f.createIndex({x: 1}); var case9 = function() { f.save({x: 1}); @@ -286,51 +286,51 @@ case9(); // resetCollection(); -f.ensureIndex({x: 1, y: 1}); +f.createIndex({x: 1, y: 1}); case4(); resetCollection(); -f.ensureIndex({x: 1, y: -1, z: 1}); +f.createIndex({x: 1, y: -1, z: 1}); case4(); resetCollection(); -f.ensureIndex({x: 1, y: 1}); +f.createIndex({x: 1, y: 1}); case5(); resetCollection(); -f.ensureIndex({x: 1, y: -1, z: 1}); +f.createIndex({x: 1, y: -1, z: 1}); case5(); resetCollection(); -f.ensureIndex({x: 1, y: 1}); +f.createIndex({x: 1, y: 1}); case6(); resetCollection(); -f.ensureIndex({x: 1, y: -1, z: 1}); +f.createIndex({x: 1, y: -1, z: 1}); case6(); resetCollection(); -f.ensureIndex({x: 1, y: 1}); +f.createIndex({x: 1, y: 1}); case7(); resetCollection(); -f.ensureIndex({x: 1, y: -1, z: 1}); +f.createIndex({x: 1, y: -1, z: 1}); case7(); resetCollection(); -f.ensureIndex({x: 1, y: 1}); +f.createIndex({x: 1, y: 1}); case8(); resetCollection(); -f.ensureIndex({x: 1, y: -1, z: 1}); +f.createIndex({x: 1, y: -1, z: 1}); case8(); resetCollection(); -f.ensureIndex({x: 1, y: 1}); +f.createIndex({x: 1, y: 1}); case9(); resetCollection(); -f.ensureIndex({x: 1, y: -1, z: 1}); +f.createIndex({x: 1, y: -1, z: 1}); case9(); print("PASSED"); diff --git a/jstests/core/stages_and_hash.js b/jstests/core/stages_and_hash.js index aa91f27e542..e5260c6c1b1 100644 --- a/jstests/core/stages_and_hash.js +++ b/jstests/core/stages_and_hash.js @@ -13,9 +13,9 @@ for (var i = 0; i < N; ++i) { t.insert({foo: i, bar: N - i, baz: i}); } -t.ensureIndex({foo: 1}); -t.ensureIndex({bar: 1}); -t.ensureIndex({baz: 1}); +t.createIndex({foo: 1}); +t.createIndex({bar: 1}); +t.createIndex({baz: 1}); // Scan foo <= 20 ixscan1 = { diff --git a/jstests/core/stages_and_sorted.js b/jstests/core/stages_and_sorted.js index 97387d84064..aa4a2fa08c1 100644 --- a/jstests/core/stages_and_sorted.js +++ b/jstests/core/stages_and_sorted.js @@ -23,9 +23,9 @@ for (var i = 0; i < N; ++i) { t.insert({baz: 12}); } -t.ensureIndex({foo: 1}); -t.ensureIndex({bar: 1}); -t.ensureIndex({baz: 1}); +t.createIndex({foo: 1}); +t.createIndex({bar: 1}); +t.createIndex({baz: 1}); // Scan foo == 1 ixscan1 = { diff --git a/jstests/core/stages_fetch.js b/jstests/core/stages_fetch.js index 48d761e53e7..032cc930cf8 100644 --- a/jstests/core/stages_fetch.js +++ b/jstests/core/stages_fetch.js @@ -13,7 +13,7 @@ for (var i = 0; i < N; ++i) { t.insert({foo: i, bar: N - i, baz: i}); } -t.ensureIndex({foo: 1}); +t.createIndex({foo: 1}); // 20 <= foo <= 30 // bar == 25 (not covered, should error.) diff --git a/jstests/core/stages_ixscan.js b/jstests/core/stages_ixscan.js index 78e22e997c4..86184206e33 100644 --- a/jstests/core/stages_ixscan.js +++ b/jstests/core/stages_ixscan.js @@ -13,8 +13,8 @@ for (var i = 0; i < N; ++i) { t.insert({foo: i, bar: N - i, baz: i}); } -t.ensureIndex({foo: 1}); -t.ensureIndex({foo: 1, baz: 1}); +t.createIndex({foo: 1}); +t.createIndex({foo: 1, baz: 1}); // Test that stageDebug fails if neither the keyPattern nor the index name are present. assert.commandFailed(db.runCommand({ diff --git a/jstests/core/stages_limit_skip.js b/jstests/core/stages_limit_skip.js index b2621623260..00ba7aae4f0 100644 --- a/jstests/core/stages_limit_skip.js +++ b/jstests/core/stages_limit_skip.js @@ -13,7 +13,7 @@ for (var i = 0; i < N; ++i) { t.insert({foo: i, bar: N - i, baz: i}); } -t.ensureIndex({foo: 1}); +t.createIndex({foo: 1}); // foo <= 20, decreasing // Limit of 5 results. diff --git a/jstests/core/stages_mergesort.js b/jstests/core/stages_mergesort.js index c4c4125c1f3..6679da3d5a5 100644 --- a/jstests/core/stages_mergesort.js +++ b/jstests/core/stages_mergesort.js @@ -14,8 +14,8 @@ for (var i = 0; i < N; ++i) { t.insert({baz: 1, bar: i}); } -t.ensureIndex({foo: 1, bar: 1}); -t.ensureIndex({baz: 1, bar: 1}); +t.createIndex({foo: 1, bar: 1}); +t.createIndex({baz: 1, bar: 1}); // foo == 1 // We would (internally) use "": MinKey and "": MaxKey for the bar index bounds. diff --git a/jstests/core/stages_or.js b/jstests/core/stages_or.js index 0fd78bdfc5c..d255404a21c 100644 --- a/jstests/core/stages_or.js +++ b/jstests/core/stages_or.js @@ -13,9 +13,9 @@ for (var i = 0; i < N; ++i) { t.insert({foo: i, bar: N - i, baz: i}); } -t.ensureIndex({foo: 1}); -t.ensureIndex({bar: 1}); -t.ensureIndex({baz: 1}); +t.createIndex({foo: 1}); +t.createIndex({bar: 1}); +t.createIndex({baz: 1}); // baz >= 40 ixscan1 = { diff --git a/jstests/core/stages_sort.js b/jstests/core/stages_sort.js index 46b81662100..60f22c680eb 100644 --- a/jstests/core/stages_sort.js +++ b/jstests/core/stages_sort.js @@ -8,7 +8,7 @@ if (false) { t.insert({foo: i, bar: N - i}); } - t.ensureIndex({foo: 1}); + t.createIndex({foo: 1}); // Foo <= 20, descending. ixscan1 = { diff --git a/jstests/core/stages_text.js b/jstests/core/stages_text.js index 50182b04bb4..4b5379a0e4c 100644 --- a/jstests/core/stages_text.js +++ b/jstests/core/stages_text.js @@ -11,7 +11,7 @@ var collname = "stages_text"; t.save({x: "az b x"}); -t.ensureIndex({x: "text"}); +t.createIndex({x: "text"}); // We expect to retrieve 'b' res = db.runCommand({stageDebug: {collection: collname, plan: {text: {args: {search: "b"}}}}}); diff --git a/jstests/core/type1.js b/jstests/core/type1.js index aae040dee90..8066de2a5c4 100644 --- a/jstests/core/type1.js +++ b/jstests/core/type1.js @@ -13,7 +13,7 @@ assert.eq(1, t.find({x: {$type: 1}}).count(), "A2"); assert.eq(3, t.find({x: {$type: 2}}).count(), "A3"); assert.eq(0, t.find({x: {$type: 3}}).count(), "A4"); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); assert.eq(4, t.find().count(), "B1"); assert.eq(1, t.find({x: {$type: 1}}).count(), "B2"); diff --git a/jstests/core/type2.js b/jstests/core/type2.js index 9c6baa37b94..d93d313d60f 100644 --- a/jstests/core/type2.js +++ b/jstests/core/type2.js @@ -15,5 +15,5 @@ function test() { } test(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); test();
\ No newline at end of file diff --git a/jstests/core/type3.js b/jstests/core/type3.js index 6c2c71e2b0c..1b57e9bb989 100644 --- a/jstests/core/type3.js +++ b/jstests/core/type3.js @@ -8,7 +8,7 @@ t = db.jstests_type3; t.drop(); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); // Type Object t.save({a: {'': ''}}); diff --git a/jstests/core/uniqueness.js b/jstests/core/uniqueness.js index d138f59d0ae..af4dfb1507f 100644 --- a/jstests/core/uniqueness.js +++ b/jstests/core/uniqueness.js @@ -40,7 +40,7 @@ db.jstests_uniqueness2.drop(); db.jstests_uniqueness2.insert({a: 3}); db.jstests_uniqueness2.insert({a: 3}); assert.eq(2, db.jstests_uniqueness2.count()); -res = db.jstests_uniqueness2.ensureIndex({a: 1}, true); +res = db.jstests_uniqueness2.createIndex({a: 1}, true); assert.commandFailed(res); assert(res.errmsg.match(/E11000/)); @@ -49,7 +49,7 @@ db.jstests_uniqueness2.drop(); db.jstests_uniqueness2.insert({a: 3}); db.jstests_uniqueness2.insert({a: 3}); assert.eq(2, db.jstests_uniqueness2.count()); -res = db.jstests_uniqueness2.ensureIndex({a: 1}, {unique: true, background: true}); +res = db.jstests_uniqueness2.createIndex({a: 1}, {unique: true, background: true}); assert.commandFailed(res); assert(res.errmsg.match(/E11000/)); diff --git a/jstests/core/update2.js b/jstests/core/update2.js index 558e3c7f558..080875b50bd 100644 --- a/jstests/core/update2.js +++ b/jstests/core/update2.js @@ -12,7 +12,7 @@ assert.eq(6, f.findOne().a); f.drop(); f.save({a: 4}); -f.ensureIndex({a: 1}); +f.createIndex({a: 1}); f.update({a: 4}, {$inc: {a: 2}}); assert.eq(6, f.findOne().a); diff --git a/jstests/core/update5.js b/jstests/core/update5.js index 7f41096889c..fafc0d72ce0 100644 --- a/jstests/core/update5.js +++ b/jstests/core/update5.js @@ -26,7 +26,7 @@ function go(key) { var ik = {}; for (k in key) ik[k] = 1; - t.ensureIndex(ik); + t.createIndex(ik); t.update(key, {$inc: {n: 1}}, true); check(4, "D"); diff --git a/jstests/core/update7.js b/jstests/core/update7.js index cb15f211d63..30dd79951dc 100644 --- a/jstests/core/update7.js +++ b/jstests/core/update7.js @@ -49,8 +49,8 @@ assert.eq("3,6", s(), "B3"); t.update({b: 3}, {$inc: {x: 1}}, false, true); assert.eq("3,6", s(), "B4"); -t.ensureIndex({a: 1}); -t.ensureIndex({b: 1}); +t.createIndex({a: 1}); +t.createIndex({b: 1}); t.update({a: 1}, {$inc: {x: 1}}, false, true); assert.eq("4,7", s(), "B5"); @@ -91,7 +91,7 @@ t.drop(); t.save({_id: 1, x: 1, a: [1, 2]}); t.save({_id: 2, x: 5, a: [2, 3]}); -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); assert.eq("1,5", s(), "D1"); t.update({a: 1}, {$inc: {x: 1}}, false, true); @@ -134,7 +134,7 @@ t.save({x: 1}); t.save({x: 2}); t.save({x: 3}); -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); assert.eq("1,2,3", s(), "F1"); t.update({x: {$gt: 0}}, {$inc: {x: 5}}, false, true); diff --git a/jstests/core/update_arraymatch4.js b/jstests/core/update_arraymatch4.js index bda7de512b8..3c087e53ca5 100644 --- a/jstests/core/update_arraymatch4.js +++ b/jstests/core/update_arraymatch4.js @@ -17,7 +17,7 @@ x.arr[0] = "A2"; t.update({arr: "A1"}, {$set: {"arr.$": "A2"}}); assert.eq(x, t.findOne(), "A2"); -t.ensureIndex({arr: 1}); +t.createIndex({arr: 1}); x.arr[0] = "A3"; t.update({arr: "A2"}, {$set: {"arr.$": "A3"}}); assert.eq(x, t.findOne(), "A3"); // SERVER-1055 diff --git a/jstests/core/update_arraymatch5.js b/jstests/core/update_arraymatch5.js index eeca2598d1c..4bddcb1ea26 100644 --- a/jstests/core/update_arraymatch5.js +++ b/jstests/core/update_arraymatch5.js @@ -7,7 +7,7 @@ t = db.update_arraymatch5; t.drop(); t.insert({abc: {visible: true}, testarray: [{foobar_id: 316, visible: true, xxx: 1}]}); -t.ensureIndex({'abc.visible': 1, 'testarray.visible': 1, 'testarray.xxx': 1}); +t.createIndex({'abc.visible': 1, 'testarray.visible': 1, 'testarray.xxx': 1}); assert(t.findOne({'abc.visible': true, testarray: {'$elemMatch': {visible: true, xxx: 1}}}), "A1"); assert(t.findOne({testarray: {'$elemMatch': {visible: true, xxx: 1}}}), "A2"); diff --git a/jstests/core/update_arraymatch6.js b/jstests/core/update_arraymatch6.js index ec318370561..1241753b866 100644 --- a/jstests/core/update_arraymatch6.js +++ b/jstests/core/update_arraymatch6.js @@ -16,5 +16,5 @@ function doTest() { doTest(); t.drop(); -t.ensureIndex({'a.id': 1}); +t.createIndex({'a.id': 1}); doTest();
\ No newline at end of file diff --git a/jstests/core/update_arraymatch7.js b/jstests/core/update_arraymatch7.js index 4ee9ed26f7c..cded4ba56f4 100644 --- a/jstests/core/update_arraymatch7.js +++ b/jstests/core/update_arraymatch7.js @@ -20,5 +20,5 @@ function testPositionalInc() { testPositionalInc(); // Now check with a non multikey index. -t.ensureIndex({'a.b': 1}); +t.createIndex({'a.b': 1}); testPositionalInc(); diff --git a/jstests/core/update_arraymatch8.js b/jstests/core/update_arraymatch8.js index 6340acdb2ab..88b9d3374e8 100644 --- a/jstests/core/update_arraymatch8.js +++ b/jstests/core/update_arraymatch8.js @@ -12,7 +12,7 @@ // array.$.name t = db.jstests_update_arraymatch8; t.drop(); -t.ensureIndex({'array.name': 1}); +t.createIndex({'array.name': 1}); t.insert({'array': [{'name': 'old'}]}); assert(t.findOne({'array.name': 'old'})); t.update({'array.name': 'old'}, {$set: {'array.$.name': 'new'}}); @@ -22,7 +22,7 @@ assert(!t.findOne({'array.name': 'old'})); // array.$ (failed in 2.2.2) t = db.jstests_update_arraymatch8; t.drop(); -t.ensureIndex({'array.name': 1}); +t.createIndex({'array.name': 1}); t.insert({'array': [{'name': 'old'}]}); assert(t.findOne({'array.name': 'old'})); t.update({'array.name': 'old'}, {$set: {'array.$': {'name': 'new'}}}); @@ -32,7 +32,7 @@ assert(!t.findOne({'array.name': 'old'})); // array.0.name t = db.jstests_update_arraymatch8; t.drop(); -t.ensureIndex({'array.name': 1}); +t.createIndex({'array.name': 1}); t.insert({'array': [{'name': 'old'}]}); assert(t.findOne({'array.name': 'old'})); t.update({'array.name': 'old'}, {$set: {'array.0.name': 'new'}}); @@ -42,7 +42,7 @@ assert(!t.findOne({'array.name': 'old'})); // array.0 (failed in 2.2.2) t = db.jstests_update_arraymatch8; t.drop(); -t.ensureIndex({'array.name': 1}); +t.createIndex({'array.name': 1}); t.insert({'array': [{'name': 'old'}]}); assert(t.findOne({'array.name': 'old'})); t.update({'array.name': 'old'}, {$set: {'array.0': {'name': 'new'}}}); @@ -56,7 +56,7 @@ arr = new Array(); for (var i = 0; i < 20; i++) { arr.push({'name': 'old'}); } -t.ensureIndex({'array.name': 1}); +t.createIndex({'array.name': 1}); t.insert({_id: 0, 'array': arr}); assert(t.findOne({'array.name': 'old'})); t.update({_id: 0}, {$set: {'array.12.name': 'new'}}); @@ -71,7 +71,7 @@ arr = new Array(); for (var i = 0; i < 20; i++) { arr.push({'name': 'old'}); } -t.ensureIndex({'array.name': 1}); +t.createIndex({'array.name': 1}); t.insert({_id: 0, 'array': arr}); assert(t.findOne({'array.name': 'old'})); t.update({_id: 0}, {$set: {'array.12': {'name': 'new'}}}); @@ -82,7 +82,7 @@ assert(t.findOne({'array.name': 'old'})); // array.$.123a.name t = db.jstests_update_arraymatch8; t.drop(); -t.ensureIndex({'array.123a.name': 1}); +t.createIndex({'array.123a.name': 1}); t.insert({'array': [{'123a': {'name': 'old'}}]}); assert(t.findOne({'array.123a.name': 'old'})); t.update({'array.123a.name': 'old'}, {$set: {'array.$.123a.name': 'new'}}); @@ -92,7 +92,7 @@ assert(!t.findOne({'array.123a.name': 'old'})); // array.$.123a t = db.jstests_update_arraymatch8; t.drop(); -t.ensureIndex({'array.name': 1}); +t.createIndex({'array.name': 1}); t.insert({'array': [{'123a': {'name': 'old'}}]}); assert(t.findOne({'array.123a.name': 'old'})); t.update({'array.123a.name': 'old'}, {$set: {'array.$.123a': {'name': 'new'}}}); @@ -102,7 +102,7 @@ assert(!t.findOne({'array.123a.name': 'old'})); // array.0.123a.name t = db.jstests_update_arraymatch8; t.drop(); -t.ensureIndex({'array.123a.name': 1}); +t.createIndex({'array.123a.name': 1}); t.insert({'array': [{'123a': {'name': 'old'}}]}); assert(t.findOne({'array.123a.name': 'old'})); t.update({'array.123a.name': 'old'}, {$set: {'array.0.123a.name': 'new'}}); @@ -112,7 +112,7 @@ assert(!t.findOne({'array.123a.name': 'old'})); // array.0.123a t = db.jstests_update_arraymatch8; t.drop(); -t.ensureIndex({'array.name': 1}); +t.createIndex({'array.name': 1}); t.insert({'array': [{'123a': {'name': 'old'}}]}); assert(t.findOne({'array.123a.name': 'old'})); t.update({'array.123a.name': 'old'}, {$set: {'array.0.123a': {'name': 'new'}}}); @@ -122,7 +122,7 @@ assert(!t.findOne({'array.123a.name': 'old'})); // a.0.b t = db.jstests_update_arraymatch8; t.drop(); -t.ensureIndex({'a.0.b': 1}); +t.createIndex({'a.0.b': 1}); t.insert({'a': [[{b: 'old'}]]}); assert(t.findOne({'a.0.0.b': 'old'})); assert(t.findOne({'a.0.b': 'old'})); @@ -133,7 +133,7 @@ assert(!t.findOne({'a.0.b': 'old'})); // a.0.b.c t = db.jstests_update_arraymatch8; t.drop(); -t.ensureIndex({'a.0.b.c': 1}); +t.createIndex({'a.0.b.c': 1}); t.insert({'a': [{b: [{c: 'old'}]}]}); assert(t.findOne({'a.0.b.0.c': 'old'})); assert(t.findOne({'a.b.0.c': 'old'})); @@ -146,7 +146,7 @@ assert(!t.findOne({'a.0.b.c': 'old'})); // a.b.$ref t = db.jstests_update_arraymatch8; t.drop(); -t.ensureIndex({'a.b.$ref': 1}); +t.createIndex({'a.b.$ref': 1}); t.insert({'a': [{'b': {'$ref': 'old', '$id': 0}}]}); assert(t.findOne({'a.b.$ref': 'old'})); assert(t.findOne({'a.0.b.$ref': 'old'})); @@ -157,8 +157,8 @@ assert(!t.findOne({'a.b.$ref': 'old'})); // a.b and a-b t = db.jstests_update_arraymatch8; t.drop(); -t.ensureIndex({'a.b': 1}); -t.ensureIndex({'a-b': 1}); +t.createIndex({'a.b': 1}); +t.createIndex({'a-b': 1}); t.insert({'a': {'b': 'old'}}); assert(t.findOne({'a.b': 'old'})); t.update({}, {$set: {'a': {'b': 'new'}}}); diff --git a/jstests/core/update_multi3.js b/jstests/core/update_multi3.js index 0077bfefead..c8a1fa3b11d 100644 --- a/jstests/core/update_multi3.js +++ b/jstests/core/update_multi3.js @@ -6,7 +6,7 @@ function test(useIndex) { t.drop(); if (useIndex) - t.ensureIndex({k: 1}); + t.createIndex({k: 1}); for (i = 0; i < 10; i++) { t.save({_id: i, k: 'x', a: []}); diff --git a/jstests/core/update_multi4.js b/jstests/core/update_multi4.js index d2030c5dc4b..38fd75358f0 100644 --- a/jstests/core/update_multi4.js +++ b/jstests/core/update_multi4.js @@ -7,7 +7,7 @@ for (i = 0; i < 1000; i++) { t.insert({_id: i, k: i % 12, v: "v" + i % 12}); } -t.ensureIndex({k: 1}); +t.createIndex({k: 1}); assert.eq(84, t.count({k: 2, v: "v2"}), "A0"); diff --git a/jstests/core/update_setOnInsert.js b/jstests/core/update_setOnInsert.js index 430f23ce6dd..9457c69f325 100644 --- a/jstests/core/update_setOnInsert.js +++ b/jstests/core/update_setOnInsert.js @@ -5,7 +5,7 @@ var res; function dotest(useIndex) { t.drop(); if (useIndex) { - t.ensureIndex({a: 1}); + t.createIndex({a: 1}); } t.update({_id: 5}, {$inc: {x: 2}, $setOnInsert: {a: 3}}, true); diff --git a/jstests/core/useindexonobjgtlt.js b/jstests/core/useindexonobjgtlt.js index 4d2368f316f..7b393de7c2f 100644 --- a/jstests/core/useindexonobjgtlt.js +++ b/jstests/core/useindexonobjgtlt.js @@ -3,7 +3,7 @@ t = db.factories; t.drop(); t.insert({name: "xyz", metro: {city: "New York", state: "NY"}}); -t.ensureIndex({metro: 1}); +t.createIndex({metro: 1}); assert(db.factories.find().count()); diff --git a/jstests/gle/create_index_gle.js b/jstests/gle/create_index_gle.js index 8a10e5a2e9f..11e7186817e 100644 --- a/jstests/gle/create_index_gle.js +++ b/jstests/gle/create_index_gle.js @@ -38,7 +38,7 @@ var testDB2 = secConn.getDB('test'); testDB.user.insert({x: 1}); -testDB.user.ensureIndex({x: 1}); +testDB.user.createIndex({x: 1}); assert.gleOK(testDB.runCommand({getLastError: 1, w: 2})); replTest.awaitReplication(); diff --git a/jstests/libs/geo_near_random.js b/jstests/libs/geo_near_random.js index 193809cd5db..c45cec7e813 100644 --- a/jstests/libs/geo_near_random.js +++ b/jstests/libs/geo_near_random.js @@ -40,9 +40,9 @@ GeoNearRandomTest.prototype.insertPts = function(nPts, indexBounds, scale, skipI if (!skipIndex) { if (!indexBounds) - this.t.ensureIndex({loc: '2d'}); + this.t.createIndex({loc: '2d'}); else - this.t.ensureIndex({loc: '2d'}, indexBounds); + this.t.createIndex({loc: '2d'}, indexBounds); } }; diff --git a/jstests/libs/write_concern_util.js b/jstests/libs/write_concern_util.js index 68f01cb9e87..b1118a095c1 100644 --- a/jstests/libs/write_concern_util.js +++ b/jstests/libs/write_concern_util.js @@ -8,7 +8,7 @@ load("jstests/libs/fail_point_util.js"); function shardCollectionWithChunks(st, coll, numDocs) { var _db = coll.getDB(); var numberDoc = numDocs || 20; - coll.ensureIndex({x: 1}, {unique: true}); + coll.createIndex({x: 1}, {unique: true}); st.ensurePrimaryShard(_db.toString(), st.shard0.shardName); st.shardColl( coll.getName(), {x: 1}, {x: numberDoc / 2}, {x: numberDoc / 2}, _db.toString(), true); diff --git a/jstests/multiVersion/libs/data_generators.js b/jstests/multiVersion/libs/data_generators.js index 4a30ca2e463..a46fbe8439a 100644 --- a/jstests/multiVersion/libs/data_generators.js +++ b/jstests/multiVersion/libs/data_generators.js @@ -350,7 +350,7 @@ function DataGenerator() { // var nextIndexDocument = generator.next(); // var nextIndexSpec = nextIndexDocument["spec"]; // var nextIndexOptions = nextIndexDocument["options"]; -// db.ensureIndex(nextIndexSpec, nextIndexOptions); +// db.createIndex(nextIndexSpec, nextIndexOptions); // } // function IndexDataGenerator(options) { diff --git a/jstests/multiVersion/libs/verify_collection_data.js b/jstests/multiVersion/libs/verify_collection_data.js index 10b26534ccc..ea2ef2f3f35 100644 --- a/jstests/multiVersion/libs/verify_collection_data.js +++ b/jstests/multiVersion/libs/verify_collection_data.js @@ -35,10 +35,10 @@ createCollectionWithData = function(db, collectionName, dataGenerator) { var numIndexes = 0; while (dataGenerator.indexes.hasNext()) { var nextIndex = dataGenerator.indexes.next(); - print("collection.ensureIndex(" + JSON.stringify(nextIndex.spec) + ", " + + print("collection.createIndex(" + JSON.stringify(nextIndex.spec) + ", " + JSON.stringify(nextIndex.options) + ");"); - var ensureIndexResult = collection.ensureIndex(nextIndex.spec, nextIndex.options); - assert.commandWorked(ensureIndexResult); + var createIndexResult = collection.createIndex(nextIndex.spec, nextIndex.options); + assert.commandWorked(createIndexResult); numIndexes++; } diff --git a/jstests/noPassthrough/current_op_reports_validation_io.js b/jstests/noPassthrough/current_op_reports_validation_io.js index 3eecda706ee..b2b80379bce 100644 --- a/jstests/noPassthrough/current_op_reports_validation_io.js +++ b/jstests/noPassthrough/current_op_reports_validation_io.js @@ -18,7 +18,7 @@ let coll = db.getCollection(collName); coll.drop(); -assert.commandWorked(coll.ensureIndex({a: 1})); +assert.commandWorked(coll.createIndex({a: 1})); for (let i = 0; i < 5; i++) { assert.commandWorked(coll.insert({a: i})); } diff --git a/jstests/noPassthrough/document_count_functions.js b/jstests/noPassthrough/document_count_functions.js index 207a6a65efa..1cb21f2bf18 100644 --- a/jstests/noPassthrough/document_count_functions.js +++ b/jstests/noPassthrough/document_count_functions.js @@ -39,7 +39,7 @@ assert.eq(3, coll.countDocuments({i: 1}, {limit: 3})); // that we will have 2 left. assert.eq(2, coll.countDocuments({i: 1}, {skip: 2})); -assert.commandWorked(coll.ensureIndex({i: 1})); +assert.commandWorked(coll.createIndex({i: 1})); // Aggregate stage case: Add an option that gets added as an aggregation argument. assert.eq(4, coll.countDocuments({i: 1}, {hint: {i: 1}})); diff --git a/jstests/noPassthrough/filemd5_kill_during_yield.js b/jstests/noPassthrough/filemd5_kill_during_yield.js index c13fd9ab896..3a9973cc116 100644 --- a/jstests/noPassthrough/filemd5_kill_during_yield.js +++ b/jstests/noPassthrough/filemd5_kill_during_yield.js @@ -12,7 +12,7 @@ const db = conn.getDB("test"); db.fs.chunks.drop(); assert.commandWorked(db.fs.chunks.insert({files_id: 1, n: 0, data: new BinData(0, "64string")})); assert.commandWorked(db.fs.chunks.insert({files_id: 1, n: 1, data: new BinData(0, "test")})); -db.fs.chunks.ensureIndex({files_id: 1, n: 1}); +db.fs.chunks.createIndex({files_id: 1, n: 1}); const kFailPointName = "waitInFilemd5DuringManualYield"; assert.commandWorked(db.adminCommand({configureFailPoint: kFailPointName, mode: "alwaysOn"})); diff --git a/jstests/noPassthrough/geo_full.js b/jstests/noPassthrough/geo_full.js index 8d7fb12b73f..e2cf2b03491 100644 --- a/jstests/noPassthrough/geo_full.js +++ b/jstests/noPassthrough/geo_full.js @@ -390,11 +390,11 @@ for (var test = 0; test < numTests; test++) { var indexDoc = {"locs.loc": "2d"}; randIndexAdditions(indexDoc); - // "earth" is used to drive test setup and not a valid createIndexes option or required at - // this point. It must be removed before calling ensureIndexes(). + // "earth" is used to drive test setup and not a valid createIndex option or required at + // this point. It must be removed before calling createIndex(). delete env.earth; - assert.commandWorked(t.ensureIndex(indexDoc, env)); + assert.commandWorked(t.createIndex(indexDoc, env)); assert.isnull(db.getLastError()); var padding = "x"; diff --git a/jstests/noPassthrough/geo_mnypts_plus_fields.js b/jstests/noPassthrough/geo_mnypts_plus_fields.js index 467c46e3698..f1782de5a16 100644 --- a/jstests/noPassthrough/geo_mnypts_plus_fields.js +++ b/jstests/noPassthrough/geo_mnypts_plus_fields.js @@ -57,7 +57,7 @@ for (var fields = 1; fields < maxFields; fields++) { queryFields["field" + j] = field; } - coll.ensureIndex({loc: "2d"}); + coll.createIndex({loc: "2d"}); // Check that quarter of points in each quadrant for (var i = 0; i < 4; i++) { diff --git a/jstests/noPassthrough/index_partial_no_explain_cmds.js b/jstests/noPassthrough/index_partial_no_explain_cmds.js index 2ad426d9d23..122ae1fade8 100644 --- a/jstests/noPassthrough/index_partial_no_explain_cmds.js +++ b/jstests/noPassthrough/index_partial_no_explain_cmds.js @@ -11,7 +11,7 @@ var ret; coll.drop(); db.getCollection("mrOutput").drop(); -assert.commandWorked(coll.ensureIndex({x: 1}, {partialFilterExpression: {a: 1}})); +assert.commandWorked(coll.createIndex({x: 1}, {partialFilterExpression: {a: 1}})); assert.commandWorked(coll.insert({_id: 1, x: 5, a: 2})); // Not in index. assert.commandWorked(coll.insert({_id: 2, x: 6, a: 1})); // In index. diff --git a/jstests/noPassthrough/indexbg1.js b/jstests/noPassthrough/indexbg1.js index c2bdf180be3..24b93699399 100644 --- a/jstests/noPassthrough/indexbg1.js +++ b/jstests/noPassthrough/indexbg1.js @@ -56,7 +56,7 @@ while (1) { // if indexing finishes before we can run checks, try indexing w/ m assert.commandWorked(bulk.execute()); assert.eq(size, t.count()); - bgIndexBuildPid = doParallel(fullName + ".ensureIndex( {i:1}, {background:true} )"); + bgIndexBuildPid = doParallel(fullName + ".createIndex( {i:1}, {background:true} )"); try { // wait for indexing to start print("wait for indexing to start"); diff --git a/jstests/noPassthrough/indexbg2.js b/jstests/noPassthrough/indexbg2.js index e4e30f69813..947c8156493 100644 --- a/jstests/noPassthrough/indexbg2.js +++ b/jstests/noPassthrough/indexbg2.js @@ -30,7 +30,7 @@ let doParallel = function(work) { let indexBuild = function() { let fullName = "db." + baseName; - return doParallel(fullName + ".ensureIndex( {i:1}, {background:true, unique:true} )"); + return doParallel(fullName + ".createIndex( {i:1}, {background:true, unique:true} )"); }; let doneParallel = function() { diff --git a/jstests/noPassthrough/indexbg_drop.js b/jstests/noPassthrough/indexbg_drop.js index c7ef4245fc5..8b290849965 100644 --- a/jstests/noPassthrough/indexbg_drop.js +++ b/jstests/noPassthrough/indexbg_drop.js @@ -52,8 +52,8 @@ assert.commandWorked( jsTest.log("Starting background indexing for test of: " + tojson(dc)); // Add another index to be sure the drop command works. -primaryDB.getCollection(collection).ensureIndex({b: 1}); -primaryDB.getCollection(collection).ensureIndex({i: 1}, {background: true}); +primaryDB.getCollection(collection).createIndex({b: 1}); +primaryDB.getCollection(collection).createIndex({i: 1}, {background: true}); // Make sure the index build has started on the secondary. IndexBuildTest.waitForIndexBuildToStart(secondDB); diff --git a/jstests/noPassthrough/libs/backup_restore.js b/jstests/noPassthrough/libs/backup_restore.js index b882d2d0439..5bc83d693d5 100644 --- a/jstests/noPassthrough/libs/backup_restore.js +++ b/jstests/noPassthrough/libs/backup_restore.js @@ -50,7 +50,7 @@ var BackupRestoreTest = function(options) { let iteration = 0; var coll = db.getSiblingDB(dbName).getCollection(collectionName); - coll.ensureIndex({x: 1}); + coll.createIndex({x: 1}); var largeValue = new Array(1024).join('L'); diff --git a/jstests/noPassthrough/lookup_with_limit_sharded.js b/jstests/noPassthrough/lookup_with_limit_sharded.js index e6ee126a03f..ef379ec073e 100644 --- a/jstests/noPassthrough/lookup_with_limit_sharded.js +++ b/jstests/noPassthrough/lookup_with_limit_sharded.js @@ -98,7 +98,7 @@ const explain = coll.explain().aggregate(topKSortPipeline); assert.eq(explain.stages[0].$cursor.queryPlanner.winningPlan.limitAmount, 5, explain); // Tests on a sharded collection. -coll.ensureIndex({x: 1}); +coll.createIndex({x: 1}); st.shardColl(coll, {x: 1}, {x: 1}, {x: 1}, db, true); checkShardedResults(lookupPipeline, 2); diff --git a/jstests/noPassthrough/ttl_capped.js b/jstests/noPassthrough/ttl_capped.js index 662e5781e03..f22329d8ca3 100644 --- a/jstests/noPassthrough/ttl_capped.js +++ b/jstests/noPassthrough/ttl_capped.js @@ -38,7 +38,7 @@ for (var i = 0; i < numCollectionsToCreate; i++) { } // Create a TTL index on the 'date' field of the collection. - var res = testDB[collName].ensureIndex({date: 1}, {expireAfterSeconds: expireAfterSeconds}); + var res = testDB[collName].createIndex({date: 1}, {expireAfterSeconds: expireAfterSeconds}); assert.commandWorked(res); // Insert a single document with a 'date' field that is already expired according to the diff --git a/jstests/noPassthrough/ttl_hidden_index.js b/jstests/noPassthrough/ttl_hidden_index.js index 80c783dad33..b64f4822638 100644 --- a/jstests/noPassthrough/ttl_hidden_index.js +++ b/jstests/noPassthrough/ttl_hidden_index.js @@ -6,7 +6,7 @@ let coll = runner.getDB("test").ttl_hiddenl_index; coll.drop(); // Create TTL index. -assert.commandWorked(coll.ensureIndex({x: 1}, {expireAfterSeconds: 0})); +assert.commandWorked(coll.createIndex({x: 1}, {expireAfterSeconds: 0})); let now = new Date(); assert.commandWorked(coll.hideIndex("x_1")); diff --git a/jstests/noPassthrough/ttl_monitor_does_not_unregister_index_during_collection_creation.js b/jstests/noPassthrough/ttl_monitor_does_not_unregister_index_during_collection_creation.js index c96b2f8d642..9758aec62b3 100644 --- a/jstests/noPassthrough/ttl_monitor_does_not_unregister_index_during_collection_creation.js +++ b/jstests/noPassthrough/ttl_monitor_does_not_unregister_index_during_collection_creation.js @@ -25,10 +25,10 @@ const failPoint = "hangTTLCollectionCacheAfterRegisteringInfo"; assert.commandWorked(db.adminCommand({configureFailPoint: failPoint, mode: "alwaysOn"})); // Create an index on a non-existent collection. This will implicitly create the collection. -let awaitEnsureIndex = startParallelShell(() => { +let awaitcreateIndex = startParallelShell(() => { const testDB = db.getSiblingDB(TestData.dbName); assert.commandWorked( - testDB.getCollection(TestData.collName).ensureIndex({x: 1}, {expireAfterSeconds: 0})); + testDB.getCollection(TestData.collName).createIndex({x: 1}, {expireAfterSeconds: 0})); }, db.getMongo().port); // Wait for the TTL monitor to run and register the index in the TTL collection cache. @@ -43,7 +43,7 @@ assert.soon(function() { // Finish the index build. assert.commandWorked(db.adminCommand({configureFailPoint: failPoint, mode: "off"})); -awaitEnsureIndex(); +awaitcreateIndex(); // Insert documents, which should expire immediately and be removed on the next TTL pass. const now = new Date(); diff --git a/jstests/noPassthrough/ttl_partial_index.js b/jstests/noPassthrough/ttl_partial_index.js index 61cc5e6aff1..977eb4aef4c 100644 --- a/jstests/noPassthrough/ttl_partial_index.js +++ b/jstests/noPassthrough/ttl_partial_index.js @@ -8,7 +8,7 @@ var coll = runner.getDB("test").ttl_partial_index; coll.drop(); // Create TTL partial index. -assert.commandWorked(coll.ensureIndex( +assert.commandWorked(coll.createIndex( {x: 1}, {expireAfterSeconds: 0, partialFilterExpression: {z: {$exists: true}}})); var now = new Date(); diff --git a/jstests/noPassthrough/ttl_resharding_collection.js b/jstests/noPassthrough/ttl_resharding_collection.js index 715c2801331..648d1a9b056 100644 --- a/jstests/noPassthrough/ttl_resharding_collection.js +++ b/jstests/noPassthrough/ttl_resharding_collection.js @@ -7,7 +7,7 @@ const collName = "system.resharding.mycoll"; const coll = runner.getDB(jsTestName())[collName]; coll.drop(); -assert.commandWorked(coll.ensureIndex({x: 1}, {expireAfterSeconds: 0})); +assert.commandWorked(coll.createIndex({x: 1}, {expireAfterSeconds: 0})); const now = new Date(); assert.commandWorked(coll.insert({x: now})); diff --git a/jstests/noPassthrough/update_server-5552.js b/jstests/noPassthrough/update_server-5552.js index 876f9688c6f..4af4491b999 100644 --- a/jstests/noPassthrough/update_server-5552.js +++ b/jstests/noPassthrough/update_server-5552.js @@ -17,7 +17,7 @@ for (let i = 0; i < N; i++) { assert.commandWorked(bulk.execute()); const join = startParallelShell( - "while( db.foo.findOne( { _id : 0 } ).x == 1 ); db.foo.ensureIndex( { x : 1 } );"); + "while( db.foo.findOne( { _id : 0 } ).x == 1 ); db.foo.createIndex( { x : 1 } );"); t.update({ $where: function() { diff --git a/jstests/noPassthroughWithMongod/apply_ops_errors.js b/jstests/noPassthroughWithMongod/apply_ops_errors.js index 0cf4a789718..2e2fb2d6069 100644 --- a/jstests/noPassthroughWithMongod/apply_ops_errors.js +++ b/jstests/noPassthroughWithMongod/apply_ops_errors.js @@ -19,7 +19,7 @@ coll.drop(); // Scenario 1: only one operation assert.eq(0, coll.find().count(), "test collection not empty"); -coll.ensureIndex({x: 1}, {unique: true}); +coll.createIndex({x: 1}, {unique: true}); coll.insert({_id: 1, x: "init"}); var res = db.runCommand({ @@ -38,7 +38,7 @@ coll.drop(); // Scenario 2: Three operations, first two should run, second should fail. assert.eq(0, coll.find().count(), "test collection not empty"); -coll.ensureIndex({x: 1}, {unique: true}); +coll.createIndex({x: 1}, {unique: true}); coll.insert({_id: 1, x: "init"}); var res = db.runCommand({ diff --git a/jstests/noPassthroughWithMongod/background.js b/jstests/noPassthroughWithMongod/background.js index ef591fa5114..a6fe673a376 100644 --- a/jstests/noPassthroughWithMongod/background.js +++ b/jstests/noPassthroughWithMongod/background.js @@ -18,7 +18,7 @@ for (var i = 0; i < 100000; i++) { } // start bg indexing -a.bg1.ensureIndex({i: 1}, {name: "i_1", background: true}); +a.bg1.createIndex({i: 1}, {name: "i_1", background: true}); // add more data bulk = t.initializeUnorderedBulkOp(); diff --git a/jstests/noPassthroughWithMongod/bulk_api_limits.js b/jstests/noPassthroughWithMongod/bulk_api_limits.js index 3dada22c519..91b56f80951 100644 --- a/jstests/noPassthroughWithMongod/bulk_api_limits.js +++ b/jstests/noPassthroughWithMongod/bulk_api_limits.js @@ -17,7 +17,7 @@ var executeTestsUnordered = function() { // Create unique index coll.dropIndexes(); coll.remove({}); - coll.ensureIndex({a: 1}, {unique: true}); + coll.createIndex({a: 1}, {unique: true}); /** * Fail during batch construction due to single document > maxBSONSize diff --git a/jstests/noPassthroughWithMongod/capped4.js b/jstests/noPassthroughWithMongod/capped4.js index bfa92cef26d..c659ff65935 100644 --- a/jstests/noPassthroughWithMongod/capped4.js +++ b/jstests/noPassthroughWithMongod/capped4.js @@ -3,7 +3,7 @@ t = db.jstests_capped4; t.drop(); db.createCollection("jstests_capped4", {size: 1000, capped: true}); -t.ensureIndex({i: 1}); +t.createIndex({i: 1}); for (i = 0; i < 20; ++i) { t.save({i: i}); } diff --git a/jstests/noPassthroughWithMongod/dup_bgindex.js b/jstests/noPassthroughWithMongod/dup_bgindex.js index 02ac4bf7870..dd62117cf9f 100644 --- a/jstests/noPassthroughWithMongod/dup_bgindex.js +++ b/jstests/noPassthroughWithMongod/dup_bgindex.js @@ -7,10 +7,10 @@ for (var i = 0; i < 10000; i++) { docs.push({name: "foo", z: {a: 17, b: 4}, i: i}); } assert.commandWorked(t.insert(docs)); -var cmd = "assert.commandWorked(db.duplIndexTest.ensureIndex( { i : 1 }, {background:true} ));"; +var cmd = "assert.commandWorked(db.duplIndexTest.createIndex( { i : 1 }, {background:true} ));"; var join1 = startParallelShell(cmd); var join2 = startParallelShell(cmd); -assert.commandWorked(t.ensureIndex({i: 1}, {background: true})); +assert.commandWorked(t.createIndex({i: 1}, {background: true})); assert.eq(1, t.find({i: 1}).count(), "Should find only one doc"); assert.commandWorked(t.dropIndex({i: 1})); assert.eq(1, t.find({i: 1}).count(), "Should find only one doc"); diff --git a/jstests/noPassthroughWithMongod/explain1.js b/jstests/noPassthroughWithMongod/explain1.js index 7b37ade1ece..1156a5b86ed 100644 --- a/jstests/noPassthroughWithMongod/explain1.js +++ b/jstests/noPassthroughWithMongod/explain1.js @@ -8,7 +8,7 @@ s1 = startParallelShell(function() { t = db.jstests_slowNightly_explain1; for (var i = 0; i < 80; ++i) { t.drop(); - t.ensureIndex({x: 1}); + t.createIndex({x: 1}); for (var j = 0; j < 1000; ++j) { t.save({x: j, y: 1}); } diff --git a/jstests/noPassthroughWithMongod/explain2.js b/jstests/noPassthroughWithMongod/explain2.js index 3766c3a0e93..0720091e4a4 100644 --- a/jstests/noPassthroughWithMongod/explain2.js +++ b/jstests/noPassthroughWithMongod/explain2.js @@ -8,7 +8,7 @@ t.drop(); db.createCollection(collName, {capped: true, size: 100000}); t = db[collName]; -t.ensureIndex({x: 1}); +t.createIndex({x: 1}); a = startParallelShell('for( i = 0; i < 50000; ++i ) { db.' + collName + '.insert( {x:i,y:1} ); }'); diff --git a/jstests/noPassthroughWithMongod/explain3.js b/jstests/noPassthroughWithMongod/explain3.js index d402b610d96..6d35949d273 100644 --- a/jstests/noPassthroughWithMongod/explain3.js +++ b/jstests/noPassthroughWithMongod/explain3.js @@ -8,7 +8,7 @@ s1 = startParallelShell(function() { t = db.jstests_slowNightly_explain3; for (var i = 0; i < 80; ++i) { t.drop(); - t.ensureIndex({x: 1}); + t.createIndex({x: 1}); for (var j = 0; j < 1000; ++j) { t.save({x: j, y: 1}); } diff --git a/jstests/noPassthroughWithMongod/external_sort_text_agg.js b/jstests/noPassthroughWithMongod/external_sort_text_agg.js index 089432b88d0..583aff8601b 100644 --- a/jstests/noPassthroughWithMongod/external_sort_text_agg.js +++ b/jstests/noPassthroughWithMongod/external_sort_text_agg.js @@ -1,7 +1,7 @@ // Ensure text search metadata is not lost in an external sort var t = db.external_sort_text_agg; t.drop(); -t.ensureIndex({text: "text"}); +t.createIndex({text: "text"}); for (i = 0; i < 100; i++) { t.insert({_id: i, text: Array(210000).join("asdf ")}); // string over 1MB to hit the 100MB threshold for external sort diff --git a/jstests/noPassthroughWithMongod/geo_axis_aligned.js b/jstests/noPassthroughWithMongod/geo_axis_aligned.js index 0849b6b7acc..877954b0f2a 100644 --- a/jstests/noPassthroughWithMongod/geo_axis_aligned.js +++ b/jstests/noPassthroughWithMongod/geo_axis_aligned.js @@ -62,9 +62,9 @@ for (var b = 0; b < bits.length; b++) { {"_id": 9, "loc": {"x": center[j][0] + radius[i], "y": center[j][1] - radius[i]}}); var res = - t.ensureIndex({loc: "2d"}, {max: bound[j][1], min: bound[j][0], bits: bits[b]}); + t.createIndex({loc: "2d"}, {max: bound[j][1], min: bound[j][0], bits: bits[b]}); - // ensureIndex fails when this iteration inserted coordinates that are out of bounds. + // createIndex fails when this iteration inserted coordinates that are out of bounds. // These are invalid cases, so we skip them. if (!res.ok) continue; diff --git a/jstests/noPassthroughWithMongod/geo_mnypts.js b/jstests/noPassthroughWithMongod/geo_mnypts.js index d3ae714b69b..7566c479588 100644 --- a/jstests/noPassthroughWithMongod/geo_mnypts.js +++ b/jstests/noPassthroughWithMongod/geo_mnypts.js @@ -13,7 +13,7 @@ for (var i = 0; i < totalPts; i++) { } assert.commandWorked(bulk.execute()); -coll.ensureIndex({loc: "2d"}); +coll.createIndex({loc: "2d"}); // Check that quarter of points in each quadrant for (var i = 0; i < 4; i++) { diff --git a/jstests/noPassthroughWithMongod/geo_polygon.js b/jstests/noPassthroughWithMongod/geo_polygon.js index d0085fa1f92..28110591d64 100644 --- a/jstests/noPassthroughWithMongod/geo_polygon.js +++ b/jstests/noPassthroughWithMongod/geo_polygon.js @@ -20,7 +20,7 @@ var numTests = 31; var start = (TestData.undoRecorderPath ? 20 : 0); for (var n = start; n < numTests; n++) { t.dropIndexes(); - t.ensureIndex({loc: "2d"}, {bits: 2 + n}); + t.createIndex({loc: "2d"}, {bits: 2 + n}); assert.between(9 - 2, t.find({loc: {"$within": {"$polygon": [[0, 0], [1, 1], [0, 2]]}}}).count(), diff --git a/jstests/noPassthroughWithMongod/huge_multikey_index.js b/jstests/noPassthroughWithMongod/huge_multikey_index.js index 9c19c0d00a1..195a85e9b5f 100644 --- a/jstests/noPassthroughWithMongod/huge_multikey_index.js +++ b/jstests/noPassthroughWithMongod/huge_multikey_index.js @@ -13,9 +13,9 @@ function doit() { t.insert({a: arr}); - // t.ensureIndex({a:1}, {background:true}) // always worked + // t.createIndex({a:1}, {background:true}) // always worked - t.ensureIndex({a: 1}); // used to fail server with out of fds error + t.createIndex({a: 1}); // used to fail server with out of fds error } doit(); diff --git a/jstests/noPassthroughWithMongod/index_check10.js b/jstests/noPassthroughWithMongod/index_check10.js index e0786a4e539..f355ace6bb8 100644 --- a/jstests/noPassthroughWithMongod/index_check10.js +++ b/jstests/noPassthroughWithMongod/index_check10.js @@ -108,7 +108,7 @@ function doIt() { } assert.commandWorked(bulk.execute()); - t.ensureIndex(idx); + t.createIndex(idx); check(); bulk = t.initializeUnorderedBulkOp(); diff --git a/jstests/noPassthroughWithMongod/index_check9.js b/jstests/noPassthroughWithMongod/index_check9.js index 8a693604bb8..3e082cb1a3f 100644 --- a/jstests/noPassthroughWithMongod/index_check9.js +++ b/jstests/noPassthroughWithMongod/index_check9.js @@ -25,7 +25,7 @@ function doIt() { alphas.push(Random.rand() > 0.5); } - t.ensureIndex(idx); + t.createIndex(idx); function obj() { var ret = {}; diff --git a/jstests/noPassthroughWithMongod/indexbg_interrupts.js b/jstests/noPassthroughWithMongod/indexbg_interrupts.js index 19055c16cf5..b468596bd14 100644 --- a/jstests/noPassthroughWithMongod/indexbg_interrupts.js +++ b/jstests/noPassthroughWithMongod/indexbg_interrupts.js @@ -78,7 +78,7 @@ for (var idx = 0; idx < dropAction.length; idx++) { assert.commandWorked(bulk.execute()); jsTest.log("Starting background indexing for test of: " + JSON.stringify(dc)); - primaryDB.getCollection(collection).ensureIndex({i: 1}, {background: true}); + primaryDB.getCollection(collection).createIndex({i: 1}, {background: true}); assert.eq(2, primaryDB.getCollection(collection).getIndexes().length); // Wait for the secondary to get the index entry diff --git a/jstests/noPassthroughWithMongod/recstore.js b/jstests/noPassthroughWithMongod/recstore.js index fdb41af568b..cae767b0637 100644 --- a/jstests/noPassthroughWithMongod/recstore.js +++ b/jstests/noPassthroughWithMongod/recstore.js @@ -10,13 +10,13 @@ t.drop(); t.save({z: 3}); t.save({z: 2}); -t.ensureIndex({z: 1}); -t.ensureIndex({q: 1}); +t.createIndex({z: 1}); +t.createIndex({q: 1}); assert(t.find().sort({z: 1})[0].z == 2); t.dropIndexes(); assert(t.find().sort({z: 1})[0].z == 2); -t.ensureIndex({z: 1}); -t.ensureIndex({q: 1}); +t.createIndex({z: 1}); +t.createIndex({q: 1}); diff --git a/jstests/noPassthroughWithMongod/renameWithWCE.js b/jstests/noPassthroughWithMongod/renameWithWCE.js index 0c232ec0b37..db932e4621a 100644 --- a/jstests/noPassthroughWithMongod/renameWithWCE.js +++ b/jstests/noPassthroughWithMongod/renameWithWCE.js @@ -23,8 +23,8 @@ b.drop(); a.save({a: 1}); a.save({a: 2}); a.save({a: 3}); -a.ensureIndex({a: 1}); -a.ensureIndex({b: 1}); +a.createIndex({a: 1}); +a.createIndex({b: 1}); assert.commandWorked(admin.runCommand({renameCollection: "db_a.rename7", to: "db_b.rename7"})); diff --git a/jstests/noPassthroughWithMongod/temp_namespace.js b/jstests/noPassthroughWithMongod/temp_namespace.js index 257874d5966..1f4438d5b96 100644 --- a/jstests/noPassthroughWithMongod/temp_namespace.js +++ b/jstests/noPassthroughWithMongod/temp_namespace.js @@ -10,10 +10,10 @@ d = conn.getDB('test'); assert.commandWorked(d.runCommand({ applyOps: [{op: "c", ns: d.getName() + ".$cmd", o: {create: testname + 'temp1', temp: true}}] })); -d[testname + 'temp1'].ensureIndex({x: 1}); +d[testname + 'temp1'].createIndex({x: 1}); assert.commandWorked(d.runCommand( {applyOps: [{op: "c", ns: d.getName() + ".$cmd", o: {create: testname + 'temp2', temp: 1}}]})); -d[testname + 'temp2'].ensureIndex({x: 1}); +d[testname + 'temp2'].createIndex({x: 1}); assert.commandWorked(d.runCommand({ applyOps: [{op: "c", ns: d.getName() + ".$cmd", o: {create: testname + 'keep1', temp: false}}] })); diff --git a/jstests/noPassthroughWithMongod/ttl1.js b/jstests/noPassthroughWithMongod/ttl1.js index 2c1b0d65cbf..94738104d73 100644 --- a/jstests/noPassthroughWithMongod/ttl1.js +++ b/jstests/noPassthroughWithMongod/ttl1.js @@ -33,7 +33,7 @@ sleep(70 * 1000); assert.eq(t.count(), 30); // Part 2 -t.ensureIndex({x: 1}, {expireAfterSeconds: 20000}); +t.createIndex({x: 1}, {expireAfterSeconds: 20000}); assert.soon(function() { return t.count() < 30; @@ -49,7 +49,7 @@ assert.lte(18, db.serverStatus().metrics.ttl.deletedDocuments); assert.lte(1, db.serverStatus().metrics.ttl.passes); // Part 3 -t.ensureIndex({y: 1}, {expireAfterSeconds: 10000}); +t.createIndex({y: 1}, {expireAfterSeconds: 10000}); assert.soon(function() { return t.count() < 12; diff --git a/jstests/noPassthroughWithMongod/ttl_repl.js b/jstests/noPassthroughWithMongod/ttl_repl.js index ff15887b93b..14061ede6d1 100644 --- a/jstests/noPassthroughWithMongod/ttl_repl.js +++ b/jstests/noPassthroughWithMongod/ttl_repl.js @@ -50,7 +50,7 @@ printjson(secondary1col.stats()); // the correct number of docs age out var initialExpireAfterSeconds = 20000; assert.commandWorked( - primarycol.ensureIndex({x: 1}, {expireAfterSeconds: initialExpireAfterSeconds})); + primarycol.createIndex({x: 1}, {expireAfterSeconds: initialExpireAfterSeconds})); rt.awaitReplication(); sleep(70 * 1000); // TTL monitor runs every 60 seconds, so wait 70 diff --git a/jstests/noPassthroughWithMongod/ttl_repl_maintenance.js b/jstests/noPassthroughWithMongod/ttl_repl_maintenance.js index 0cdec8e1845..23bb9367452 100644 --- a/jstests/noPassthroughWithMongod/ttl_repl_maintenance.js +++ b/jstests/noPassthroughWithMongod/ttl_repl_maintenance.js @@ -16,7 +16,7 @@ var primeSystemReplset = function() { print("create a TTL collection"); var testDB = conn.getDB("test"); - assert.commandWorked(testDB.foo.ensureIndex({x: 1}, {expireAfterSeconds: 2})); + assert.commandWorked(testDB.foo.createIndex({x: 1}, {expireAfterSeconds: 2})); }; var restartWithConfig = function() { diff --git a/jstests/noPassthroughWithMongod/ttl_repl_secondary_disabled.js b/jstests/noPassthroughWithMongod/ttl_repl_secondary_disabled.js index 84718bfb914..160933c4ed8 100644 --- a/jstests/noPassthroughWithMongod/ttl_repl_secondary_disabled.js +++ b/jstests/noPassthroughWithMongod/ttl_repl_secondary_disabled.js @@ -33,7 +33,7 @@ let primarycol = primarydb['c']; let secondary1col = secondary1db['c']; // create TTL index, wait for TTL monitor to kick in, then check things -primarycol.ensureIndex({x: 1}, {expireAfterSeconds: 10}); +primarycol.createIndex({x: 1}, {expireAfterSeconds: 10}); rt.awaitReplication(); diff --git a/jstests/noPassthroughWithMongod/ttl_sharded.js b/jstests/noPassthroughWithMongod/ttl_sharded.js index 8ab74f35be9..61a97a8ce00 100644 --- a/jstests/noPassthroughWithMongod/ttl_sharded.js +++ b/jstests/noPassthroughWithMongod/ttl_sharded.js @@ -32,7 +32,7 @@ assert.commandWorked(bulk.execute()); assert.eq(t.count(), 24, "initial docs not inserted"); // create the TTL index which delete anything older than ~5.5 hours -t.ensureIndex({x: 1}, {expireAfterSeconds: 20000}); +t.createIndex({x: 1}, {expireAfterSeconds: 20000}); // split chunk in half by _id, and move one chunk to the other shard s.adminCommand({split: ns, middle: {_id: 12}}); diff --git a/jstests/noPassthroughWithMongod/validate_command.js b/jstests/noPassthroughWithMongod/validate_command.js index 5db827f0e2a..3ef6a1d79e4 100644 --- a/jstests/noPassthroughWithMongod/validate_command.js +++ b/jstests/noPassthroughWithMongod/validate_command.js @@ -27,8 +27,8 @@ for (var i = 0; i < count; i++) { t.insert({x: i}); } -t.ensureIndex({x: 1}, {name: "forward"}); -t.ensureIndex({x: -1}, {name: "reverse"}); +t.createIndex({x: 1}, {name: "forward"}); +t.createIndex({x: -1}, {name: "reverse"}); // TEST NORMAL VALIDATE var output = t.validate(); diff --git a/jstests/parallel/insert.js b/jstests/parallel/insert.js index e2dee8053d9..d28eb89e220 100644 --- a/jstests/parallel/insert.js +++ b/jstests/parallel/insert.js @@ -3,7 +3,7 @@ load('jstests/libs/parallelTester.js'); f = db.jstests_parallel_insert; f.drop(); -f.ensureIndex({who: 1}); +f.createIndex({who: 1}); Random.setRandomSeed(); diff --git a/jstests/parallel/manyclients.js b/jstests/parallel/manyclients.js index ca31f333635..fc6dce056a8 100644 --- a/jstests/parallel/manyclients.js +++ b/jstests/parallel/manyclients.js @@ -3,7 +3,7 @@ load('jstests/libs/parallelTester.js'); f = db.jstests_parallel_manyclients; f.drop(); -f.ensureIndex({who: 1}); +f.createIndex({who: 1}); Random.setRandomSeed(); diff --git a/jstests/parallel/update_serializability1.js b/jstests/parallel/update_serializability1.js index 6fc41204c3c..e57b51ae721 100644 --- a/jstests/parallel/update_serializability1.js +++ b/jstests/parallel/update_serializability1.js @@ -10,8 +10,8 @@ for (var i = 0; i < N; i++) { } bulk.execute(); -t.ensureIndex({a: 1}); -t.ensureIndex({b: 1}); +t.createIndex({a: 1}); +t.createIndex({b: 1}); s1 = startParallelShell("db.update_serializability1.update( { a : { $gte : 0 } }, { $set : { b : " + (N + 1) + ", x : 2 } }, false, true );"); diff --git a/jstests/parallel/update_serializability2.js b/jstests/parallel/update_serializability2.js index 84b27049e53..16fd4ad3394 100644 --- a/jstests/parallel/update_serializability2.js +++ b/jstests/parallel/update_serializability2.js @@ -11,8 +11,8 @@ for (var i = 0; i < N; i++) { } bulk.execute(); -t.ensureIndex({a: 1}); -t.ensureIndex({b: 1}); +t.createIndex({a: 1}); +t.createIndex({b: 1}); var s1 = startParallelShell( "db.update_serializability1.update( { a : { $gte : 0 } }, { $set : { x : 2 } }, false, true );"); diff --git a/jstests/perf/compact_speed_test.js b/jstests/perf/compact_speed_test.js index b8fbfd2dc4a..5f1566a5967 100644 --- a/jstests/perf/compact_speed_test.js +++ b/jstests/perf/compact_speed_test.js @@ -29,11 +29,11 @@ if (1) { var a = timed(); // print("index"); - t.ensureIndex({x: 1}); + t.createIndex({x: 1}); // print("index"); - t.ensureIndex({y: 1}); + t.createIndex({y: 1}); // print("index"); - t.ensureIndex({z: 1}); + t.createIndex({z: 1}); a += timed(); diff --git a/jstests/perf/find1.js b/jstests/perf/find1.js index 6a9d3b75355..31710cbfd66 100644 --- a/jstests/perf/find1.js +++ b/jstests/perf/find1.js @@ -13,7 +13,7 @@ function testSetup(dbConn) { for (var i = 0; i < size; i++) { t.save({num: i}); if (i == 0) - t.ensureIndex({num: 1}); + t.createIndex({num: 1}); } } diff --git a/jstests/perf/index1.js b/jstests/perf/index1.js index ecb749069b9..04b71680e66 100644 --- a/jstests/perf/index1.js +++ b/jstests/perf/index1.js @@ -12,11 +12,11 @@ printjson(db.serverStatus().mem); for (var i = 0; i < 5; i++) { nonu = Date.timeFunc(function() { - t.ensureIndex({x: 1}); + t.createIndex({x: 1}); }); t.dropIndex({x: 1}); u = Date.timeFunc(function() { - t.ensureIndex({x: 1}, {unique: 1}); + t.createIndex({x: 1}, {unique: 1}); }); t.dropIndex({x: 1}); print("non unique: " + nonu + " unique: " + u); diff --git a/jstests/perf/remove1.js b/jstests/perf/remove1.js index 09f1948572b..a7bf7bc1faa 100644 --- a/jstests/perf/remove1.js +++ b/jstests/perf/remove1.js @@ -10,7 +10,7 @@ var msg = "Hello from remove test"; function testSetup(dbConn) { var t = dbConn[collection_name]; t.drop(); - t.ensureIndex({num: 1}); + t.createIndex({num: 1}); for (var i = 0; i < size; i++) { t.save({num: i, msg: msg}); diff --git a/jstests/replsets/apply_ops_create_indexes.js b/jstests/replsets/apply_ops_create_indexes.js index ebeffbb1593..e3641965ce6 100644 --- a/jstests/replsets/apply_ops_create_indexes.js +++ b/jstests/replsets/apply_ops_create_indexes.js @@ -7,54 +7,6 @@ load('jstests/noPassthrough/libs/index_build.js'); -let ensureIndexExists = function(testDB, collName, indexName, expectedNumIndexes) { - let cmd = {listIndexes: collName}; - let res = testDB.runCommand(cmd); - assert.commandWorked(res, "could not run " + tojson(cmd)); - let indexes = new DBCommandCursor(testDB, res).toArray(); - - assert.eq(indexes.length, expectedNumIndexes); - - let foundIndex = false; - for (let i = 0; i < indexes.length; ++i) { - if (indexes[i].name == indexName) { - foundIndex = true; - } - } - assert(foundIndex, - "did not find the index '" + indexName + - "' amongst the collection indexes: " + tojson(indexes)); -}; - -let ensureOplogEntryExists = function(localDB, indexName) { - // Make sure the oplog entry for index creation exists in the oplog. - let cmd = {find: "oplog.rs"}; - let res = localDB.runCommand(cmd); - assert.commandWorked(res, "could not run " + tojson(cmd)); - let cursor = new DBCommandCursor(localDB, res); - let errMsg = "expected more data from command " + tojson(cmd) + ", with result " + tojson(res); - assert(cursor.hasNext(), errMsg); - let oplog = localDB.getCollection("oplog.rs"); - - // If two phase index builds are enabled, index creation will show up in the oplog as a pair of - // startIndexBuild and commitIndexBuild oplog entries rather than a single createIndexes entry. - let query = { - $and: [ - {"o.startIndexBuild": {$exists: true}}, - {"o.indexes.0.name": indexName}, - ], - }; - let resCursor = oplog.find(query); - assert.eq(resCursor.count(), - 1, - "Expected the query " + tojson(query) + " to return exactly 1 document"); - query = {$and: [{"o.commitIndexBuild": {$exists: true}}, {"o.indexes.0.name": indexName}]}; - resCursor = oplog.find(query); - assert.eq(resCursor.count(), - 1, - "Expected the query " + tojson(query) + " to return exactly 1 document"); -}; - let rst = new ReplSetTest({nodes: 3}); rst.startSet(); rst.initiate(); diff --git a/jstests/replsets/background_index.js b/jstests/replsets/background_index.js index 662abef771d..a09138a9e19 100644 --- a/jstests/replsets/background_index.js +++ b/jstests/replsets/background_index.js @@ -23,7 +23,7 @@ for (var i = 0; i < 100; i++) { } // Add a background index. -coll.ensureIndex({x: 1}, {background: true}); +coll.createIndex({x: 1}, {background: true}); // Rename the collection. assert.commandWorked( diff --git a/jstests/replsets/buildindexes.js b/jstests/replsets/buildindexes.js index 3be0ba68896..95356d24e1b 100644 --- a/jstests/replsets/buildindexes.js +++ b/jstests/replsets/buildindexes.js @@ -26,7 +26,7 @@ for (var i in secondaryConns) { } replTest.awaitReplication(); -primary.x.ensureIndex({y: 1}); +primary.x.createIndex({y: 1}); for (i = 0; i < 100; i++) { primary.x.insert({x: 1, y: "abc", c: 1}); diff --git a/jstests/replsets/bulk_api_wc.js b/jstests/replsets/bulk_api_wc.js index 591ad1aef58..1c90537d2be 100644 --- a/jstests/replsets/bulk_api_wc.js +++ b/jstests/replsets/bulk_api_wc.js @@ -28,7 +28,7 @@ var executeTests = function() { // Create a unique index, legacy writes validate too early to use invalid documents for // write // error testing - coll.ensureIndex({a: 1}, {unique: true}); + coll.createIndex({a: 1}, {unique: true}); // // Ordered diff --git a/jstests/replsets/drop_collections_two_phase_rename_drop_target.js b/jstests/replsets/drop_collections_two_phase_rename_drop_target.js index 5191fb47127..9aa9a15c9c1 100644 --- a/jstests/replsets/drop_collections_two_phase_rename_drop_target.js +++ b/jstests/replsets/drop_collections_two_phase_rename_drop_target.js @@ -52,8 +52,8 @@ let shortIndexName = "short_name"; // In the target collection, which will be dropped, create one index with a "too long" name, and // one with a name of acceptable size. -assert.commandWorked(toColl.ensureIndex({a: 1}, {name: longIndexName})); -assert.commandWorked(toColl.ensureIndex({b: 1}, {name: shortIndexName})); +assert.commandWorked(toColl.createIndex({a: 1}, {name: longIndexName})); +assert.commandWorked(toColl.createIndex({b: 1}, {name: shortIndexName})); // Insert documents into both collections so that we can tell them apart. assert.commandWorked(fromColl.insert({_id: 'from'})); diff --git a/jstests/replsets/initial_sync4.js b/jstests/replsets/initial_sync4.js index 35dbd632715..1860db6d1c8 100644 --- a/jstests/replsets/initial_sync4.js +++ b/jstests/replsets/initial_sync4.js @@ -17,7 +17,7 @@ jsTestLog("2. Insert some data"); var N = 5000; - mc.ensureIndex({x: 1}); + mc.createIndex({x: 1}); var bulk = mc.initializeUnorderedBulkOp(); for (var i = 0; i < N; ++i) { bulk.insert({_id: i, x: i, a: {}}); diff --git a/jstests/replsets/initial_sync_ambiguous_index.js b/jstests/replsets/initial_sync_ambiguous_index.js index c50324db935..2398243f301 100644 --- a/jstests/replsets/initial_sync_ambiguous_index.js +++ b/jstests/replsets/initial_sync_ambiguous_index.js @@ -32,7 +32,7 @@ rst.initiate(); const primaryColl = rst.getPrimary().getDB(dbName).getCollection(collectionName); // Create the index. -primaryColl.ensureIndex({"a.0": 1}); +primaryColl.createIndex({"a.0": 1}); // Insert the initial document set. for (let i = 0; i < initialDocs; ++i) { diff --git a/jstests/replsets/initial_sync_move_forward.js b/jstests/replsets/initial_sync_move_forward.js index 311ab315536..8a2c6589d41 100644 --- a/jstests/replsets/initial_sync_move_forward.js +++ b/jstests/replsets/initial_sync_move_forward.js @@ -36,7 +36,7 @@ bulk.insert({_id: count - 1, x: count - 1, longString: longString}); assert.commandWorked(bulk.execute()); // Create a unique index on {x: 1}. -assert.commandWorked(primaryColl.ensureIndex({x: 1}, {unique: true})); +assert.commandWorked(primaryColl.createIndex({x: 1}, {unique: true})); // Add a secondary. var secondary = diff --git a/jstests/replsets/reindex.js b/jstests/replsets/reindex.js index 454e72f25e8..211fbe55001 100644 --- a/jstests/replsets/reindex.js +++ b/jstests/replsets/reindex.js @@ -26,7 +26,7 @@ const secondaryDB = secondary.getDB(dbName); const secondaryColl = secondaryDB.getCollection(collName); assert.commandWorked(primaryColl.insert({a: 1000})); -assert.commandWorked(primaryColl.ensureIndex({a: 1})); +assert.commandWorked(primaryColl.createIndex({a: 1})); replTest.awaitReplication(); replTest.awaitReplication(); @@ -59,7 +59,7 @@ const testDB = standalone.getDB(dbName); const testColl = testDB.getCollection(collName); assert.commandWorked(testColl.insert({a: 1000})); -assert.commandWorked(testColl.ensureIndex({a: 1})); +assert.commandWorked(testColl.createIndex({a: 1})); assert.eq(2, testColl.getIndexes().length, "Standalone didn't have proper indexes before reindex"); assert.commandWorked(testColl.reIndex()); diff --git a/jstests/replsets/replset1.js b/jstests/replsets/replset1.js index 3ad42615db9..7ce4610495e 100644 --- a/jstests/replsets/replset1.js +++ b/jstests/replsets/replset1.js @@ -123,7 +123,7 @@ var doTest = function(signal) { }); t.save({a: 1000}); - t.ensureIndex({a: 1}); + t.createIndex({a: 1}); replTest.awaitReplication(); ts.forEach(function(z) { diff --git a/jstests/replsets/temp_namespace.js b/jstests/replsets/temp_namespace.js index f8a6f854a68..a6a7a839ea6 100644 --- a/jstests/replsets/temp_namespace.js +++ b/jstests/replsets/temp_namespace.js @@ -26,10 +26,10 @@ var secondaryDB = secondary.getDB('test'); // set up collections assert.commandWorked(primaryDB.runCommand( {applyOps: [{op: "c", ns: primaryDB.getName() + ".$cmd", o: {create: "temp1", temp: true}}]})); -primaryDB.temp1.ensureIndex({x: 1}); +primaryDB.temp1.createIndex({x: 1}); assert.commandWorked(primaryDB.runCommand( {applyOps: [{op: "c", ns: primaryDB.getName() + ".$cmd", o: {create: "temp2", temp: 1}}]})); -primaryDB.temp2.ensureIndex({x: 1}); +primaryDB.temp2.createIndex({x: 1}); assert.commandWorked(primaryDB.runCommand( {applyOps: [{op: "c", ns: primaryDB.getName() + ".$cmd", o: {create: "keep1", temp: false}}]})); assert.commandWorked(primaryDB.runCommand( diff --git a/jstests/sharding/addshard1.js b/jstests/sharding/addshard1.js index e43a2a48553..e7aa1920d6b 100644 --- a/jstests/sharding/addshard1.js +++ b/jstests/sharding/addshard1.js @@ -62,7 +62,7 @@ assert.eq( numObjs, sdb1.foo.count(), "wrong count after moving datbase that existed before addshard"); // make sure we can shard the original collections -sdb1.foo.ensureIndex({a: 1}, {unique: true}); // can't shard populated collection without an index +sdb1.foo.createIndex({a: 1}, {unique: true}); // can't shard populated collection without an index s.adminCommand({enablesharding: "testDB"}); s.adminCommand({shardcollection: "testDB.foo", key: {a: 1}}); s.adminCommand({split: "testDB.foo", middle: {a: Math.floor(numObjs / 2)}}); diff --git a/jstests/sharding/array_shard_key.js b/jstests/sharding/array_shard_key.js index 3acf841a1b0..686d1d1085f 100644 --- a/jstests/sharding/array_shard_key.js +++ b/jstests/sharding/array_shard_key.js @@ -71,7 +71,7 @@ value = coll.findOne({i: 1}); assert.commandWorked(coll.remove(Object.extend(value, {i: 1}))); assert.eq(coll.find().itcount(), 0); -coll.ensureIndex({_id: 1, i: 1, j: 1}); +coll.createIndex({_id: 1, i: 1, j: 1}); // Can insert document that will make index into a multi-key as long as it's not part of shard // key. coll.remove({}); @@ -119,7 +119,7 @@ for (var i = 0; i < 10; i++) { assert.commandWorked(coll.insert({i: [i, i + 1]})); } -coll.ensureIndex({_id: 1, i: 1}); +coll.createIndex({_id: 1, i: 1}); try { st.shardColl(coll, {_id: 1, i: 1}, {_id: ObjectId(), i: 1}); @@ -136,7 +136,7 @@ for (var i = 0; i < 10; i++) { assert.commandWorked(coll.insert({i: i})); } -coll.ensureIndex({_id: 1, i: 1}); +coll.createIndex({_id: 1, i: 1}); st.shardColl(coll, {_id: 1, i: 1}, {_id: ObjectId(), i: 1}); diff --git a/jstests/sharding/bulk_insert.js b/jstests/sharding/bulk_insert.js index 93192010dd9..a36c7c6c091 100644 --- a/jstests/sharding/bulk_insert.js +++ b/jstests/sharding/bulk_insert.js @@ -22,8 +22,8 @@ st.ensurePrimaryShard(collSh.getDB() + "", st.shard0.shardName); assert.commandWorked(admin.runCommand({movePrimary: collUn.getDB() + "", to: st.shard1.shardName})); -printjson(collSh.ensureIndex({ukey: 1}, {unique: true})); -printjson(collUn.ensureIndex({ukey: 1}, {unique: true})); +printjson(collSh.createIndex({ukey: 1}, {unique: true})); +printjson(collUn.createIndex({ukey: 1}, {unique: true})); assert.commandWorked(admin.runCommand({shardCollection: collSh + "", key: {ukey: 1}})); assert.commandWorked(admin.runCommand({split: collSh + "", middle: {ukey: 0}})); diff --git a/jstests/sharding/coll_epoch_test1.js b/jstests/sharding/coll_epoch_test1.js index 4249265797e..115418017a2 100644 --- a/jstests/sharding/coll_epoch_test1.js +++ b/jstests/sharding/coll_epoch_test1.js @@ -45,7 +45,7 @@ st.configRS.awaitLastOpCommitted(); jsTest.log("Re-enabling sharding with a different key..."); st.ensurePrimaryShard(coll.getDB().getName(), st.shard1.shardName); -assert.commandWorked(coll.ensureIndex({notId: 1})); +assert.commandWorked(coll.createIndex({notId: 1})); assert.commandWorked(admin.runCommand({shardCollection: coll + "", key: {notId: 1}})); bulk = insertMongos.getCollection(coll + "").initializeUnorderedBulkOp(); diff --git a/jstests/sharding/covered_shard_key_indexes.js b/jstests/sharding/covered_shard_key_indexes.js index 773a3d0927b..300632c0d76 100644 --- a/jstests/sharding/covered_shard_key_indexes.js +++ b/jstests/sharding/covered_shard_key_indexes.js @@ -25,19 +25,19 @@ assert.commandWorked( assert.commandWorked(coll.insert({_id: true, a: true, b: true})); // Index without shard key query - not covered -assert.commandWorked(coll.ensureIndex({a: 1})); +assert.commandWorked(coll.createIndex({a: 1})); assert.eq(1, coll.find({a: true}).explain(true).executionStats.totalDocsExamined); assert.eq(1, coll.find({a: true}, {_id: 1, a: 1}).explain(true).executionStats.totalDocsExamined); // Index with shard key query - covered when projecting assert.commandWorked(coll.dropIndexes()); -assert.commandWorked(coll.ensureIndex({a: 1, _id: 1})); +assert.commandWorked(coll.createIndex({a: 1, _id: 1})); assert.eq(1, coll.find({a: true}).explain(true).executionStats.totalDocsExamined); assert.eq(0, coll.find({a: true}, {_id: 1, a: 1}).explain(true).executionStats.totalDocsExamined); // Compound index with shard key query - covered when projecting assert.commandWorked(coll.dropIndexes()); -assert.commandWorked(coll.ensureIndex({a: 1, b: 1, _id: 1})); +assert.commandWorked(coll.createIndex({a: 1, b: 1, _id: 1})); assert.eq(1, coll.find({a: true, b: true}).explain(true).executionStats.totalDocsExamined); assert.eq( 0, @@ -52,7 +52,7 @@ st.printShardingStatus(); assert.commandWorked(coll.insert({_id: true, a: true, b: true})); // Index without shard key query - not covered -assert.commandWorked(coll.ensureIndex({a: 1})); +assert.commandWorked(coll.createIndex({a: 1})); assert.eq(1, coll.find({a: true}).explain(true).executionStats.totalDocsExamined); assert.eq(1, coll.find({a: true}, {_id: 0, a: 1}).explain(true).executionStats.totalDocsExamined); @@ -70,7 +70,7 @@ st.printShardingStatus(); assert.commandWorked(coll.insert({_id: true, a: true, b: true, c: true, d: true})); // Index without shard key query - not covered -assert.commandWorked(coll.ensureIndex({c: 1})); +assert.commandWorked(coll.createIndex({c: 1})); assert.eq(1, coll.find({c: true}).explain(true).executionStats.totalDocsExamined); assert.eq(1, coll.find({c: true}, {_id: 0, a: 1, b: 1, c: 1}) @@ -79,7 +79,7 @@ assert.eq(1, // Index with shard key query - covered when projecting assert.commandWorked(coll.dropIndex({c: 1})); -assert.commandWorked(coll.ensureIndex({c: 1, b: 1, a: 1})); +assert.commandWorked(coll.createIndex({c: 1, b: 1, a: 1})); assert.eq(1, coll.find({c: true}).explain(true).executionStats.totalDocsExamined); assert.eq(0, coll.find({c: true}, {_id: 0, a: 1, b: 1, c: 1}) @@ -88,7 +88,7 @@ assert.eq(0, // Compound index with shard key query - covered when projecting assert.commandWorked(coll.dropIndex({c: 1, b: 1, a: 1})); -assert.commandWorked(coll.ensureIndex({c: 1, d: 1, a: 1, b: 1, _id: 1})); +assert.commandWorked(coll.createIndex({c: 1, d: 1, a: 1, b: 1, _id: 1})); assert.eq(1, coll.find({c: true, d: true}).explain(true).executionStats.totalDocsExamined); assert.eq(0, coll.find({c: true, d: true}, {a: 1, b: 1, c: 1, d: 1}) @@ -104,7 +104,7 @@ st.printShardingStatus(); assert.commandWorked(coll.insert({_id: true, a: {b: true}, c: true})); // Index without shard key query - not covered -assert.commandWorked(coll.ensureIndex({c: 1})); +assert.commandWorked(coll.createIndex({c: 1})); assert.eq(1, coll.find({c: true}).explain(true).executionStats.totalDocsExamined); assert.eq( 1, @@ -112,7 +112,7 @@ assert.eq( // Index with shard key query - can be covered given the appropriate projection. assert.commandWorked(coll.dropIndex({c: 1})); -assert.commandWorked(coll.ensureIndex({c: 1, 'a.b': 1})); +assert.commandWorked(coll.createIndex({c: 1, 'a.b': 1})); assert.eq(1, coll.find({c: true}).explain(true).executionStats.totalDocsExamined); assert.eq( 0, @@ -127,7 +127,7 @@ st.printShardingStatus(); assert.commandWorked(st.shard0.getCollection(coll.toString()).insert({_id: "bad data", c: true})); // Index without shard key query - not covered but succeeds -assert.commandWorked(coll.ensureIndex({c: 1})); +assert.commandWorked(coll.createIndex({c: 1})); var explain = coll.find({c: true}).explain(true).executionStats; assert.eq(1, explain.nReturned); assert.eq(1, explain.totalDocsExamined); @@ -137,7 +137,7 @@ assert.eq(0, getChunkSkips(explain.executionStages.shards[0].executionStages)); // // NOTE: This is weird and only a result of the fact that we don't have a dedicated "does not // exist" value for indexes -assert.commandWorked(coll.ensureIndex({c: 1, a: 1})); +assert.commandWorked(coll.createIndex({c: 1, a: 1})); var explain = coll.find({c: true}, {_id: 0, a: 1, c: 1}).explain(true).executionStats; assert.eq(1, explain.nReturned); assert.eq(0, explain.totalDocsExamined); diff --git a/jstests/sharding/create_idx_empty_primary.js b/jstests/sharding/create_idx_empty_primary.js index 2641d7f7416..462a866e236 100644 --- a/jstests/sharding/create_idx_empty_primary.js +++ b/jstests/sharding/create_idx_empty_primary.js @@ -17,7 +17,7 @@ assert.commandWorked( assert.commandWorked(testDB.user.insert({_id: 0})); -var res = testDB.user.ensureIndex({i: 1}); +var res = testDB.user.createIndex({i: 1}); assert.commandWorked(res); var indexes = testDB.user.getIndexes(); diff --git a/jstests/sharding/delete_during_migrate.js b/jstests/sharding/delete_during_migrate.js index 108097bf808..3477f57bc85 100644 --- a/jstests/sharding/delete_during_migrate.js +++ b/jstests/sharding/delete_during_migrate.js @@ -28,7 +28,7 @@ for (var i = 0; i < 200000; i++) { assert.commandWorked(bulk.execute()); // enable sharding of the collection. Only 1 chunk. -t.ensureIndex({a: 1}); +t.createIndex({a: 1}); assert.commandWorked(st.s0.adminCommand({shardcollection: ns, key: {a: 1}})); diff --git a/jstests/sharding/drop_indexes_with_stale_config_error.js b/jstests/sharding/drop_indexes_with_stale_config_error.js index f84bcc88941..20d969fd865 100644 --- a/jstests/sharding/drop_indexes_with_stale_config_error.js +++ b/jstests/sharding/drop_indexes_with_stale_config_error.js @@ -25,7 +25,7 @@ assert.commandWorked(st.s.adminCommand({split: ns, middle: {x: 0}})); assert.commandWorked(st.s.adminCommand({moveChunk: ns, find: {x: 100}, to: st.shard1.shardName})); flushRoutersAndRefreshShardMetadata(st, {ns}); -assert.commandWorked(mongos0Coll.ensureIndex({x: 1})); +assert.commandWorked(mongos0Coll.createIndex({x: 1})); // Move chunk without refreshing the recipient so that the recipient shard throws a // StaleShardVersion error upon receiving the drop index command. diff --git a/jstests/sharding/features2.js b/jstests/sharding/features2.js index 9626392a43f..1cae75c30ae 100644 --- a/jstests/sharding/features2.js +++ b/jstests/sharding/features2.js @@ -12,7 +12,7 @@ let db = s.getDB("test"); db.foo.save({x: 1}); db.foo.save({x: 2}); db.foo.save({x: 3}); -db.foo.ensureIndex({x: 1}); +db.foo.createIndex({x: 1}); let a = s.shard0.getDB("test"); let b = s.shard1.getDB("test"); @@ -73,7 +73,7 @@ db.mr.save({x: 1, tags: ["a", "b"]}); db.mr.save({x: 2, tags: ["b", "c"]}); db.mr.save({x: 3, tags: ["c", "a"]}); db.mr.save({x: 4, tags: ["b", "c"]}); -db.mr.ensureIndex({x: 1}); +db.mr.createIndex({x: 1}); let m = function() { this.tags.forEach(function(z) { diff --git a/jstests/sharding/fts_score_sort_sharded.js b/jstests/sharding/fts_score_sort_sharded.js index 262a676d89c..1532ccf724b 100644 --- a/jstests/sharding/fts_score_sort_sharded.js +++ b/jstests/sharding/fts_score_sort_sharded.js @@ -26,7 +26,7 @@ assert.commandWorked(coll.insert({_id: 1, a: "pizza"})); assert.commandWorked(coll.insert({_id: -1, a: "pizza pizza"})); assert.commandWorked(coll.insert({_id: 2, a: "pizza pizza pizza"})); assert.commandWorked(coll.insert({_id: -2, a: "pizza pizza pizza pizza"})); -assert.commandWorked(coll.ensureIndex({a: "text"})); +assert.commandWorked(coll.createIndex({a: "text"})); // // Execute query with sort on document score, verify results are in correct order. @@ -76,7 +76,7 @@ assert.commandWorked(coll.insert({_id: 0, a: "pizza", b: [1, 4]})); assert.commandWorked(coll.insert({_id: 1, a: "pizza pizza", b: [6, 7]})); assert.commandWorked(coll.insert({_id: 2, a: "pizza", b: [2, 3]})); assert.commandWorked(coll.insert({_id: 3, a: "pizza pizza", b: [5, 8]})); -assert.commandWorked(coll.ensureIndex({a: "text"})); +assert.commandWorked(coll.createIndex({a: "text"})); results = coll.find({$text: {$search: "pizza"}}, {s: {$meta: "textScore"}}) .sort({s: {$meta: "textScore"}, b: 1}) diff --git a/jstests/sharding/hash_shard_non_empty.js b/jstests/sharding/hash_shard_non_empty.js index 865c103ce14..01692518b66 100644 --- a/jstests/sharding/hash_shard_non_empty.js +++ b/jstests/sharding/hash_shard_non_empty.js @@ -12,7 +12,7 @@ s.stopBalancer(); db.getCollection(coll).insert({a: 1}); -db.getCollection(coll).ensureIndex({a: "hashed"}); +db.getCollection(coll).createIndex({a: "hashed"}); var res = db.adminCommand({shardcollection: dbname + "." + coll, key: {a: "hashed"}}); assert.eq(res.ok, 1, "shardcollection didn't work"); s.printShardingStatus(); diff --git a/jstests/sharding/hash_shard_unique_compound.js b/jstests/sharding/hash_shard_unique_compound.js index 460d28789b9..acec60bf667 100644 --- a/jstests/sharding/hash_shard_unique_compound.js +++ b/jstests/sharding/hash_shard_unique_compound.js @@ -21,7 +21,7 @@ assert.commandWorked(db.adminCommand({enablesharding: dbName})); assert.commandWorked(db.adminCommand({shardcollection: ns, key: {a: "hashed"}})); // Create unique index -assert.commandWorked(coll.ensureIndex({a: 1, b: 1}, {unique: true})); +assert.commandWorked(coll.createIndex({a: 1, b: 1}, {unique: true})); jsTest.log("------ indexes -------"); jsTest.log(tojson(coll.getIndexes())); @@ -31,7 +31,7 @@ jsTest.log("------ dropping sharded collection to start part 2 -------"); coll.drop(); // Create unique index -assert.commandWorked(coll.ensureIndex({a: 1, b: 1}, {unique: true})); +assert.commandWorked(coll.createIndex({a: 1, b: 1}, {unique: true})); // shard a fresh collection using a hashed shard key assert.commandWorked(db.adminCommand({shardcollection: ns, key: {a: "hashed"}}), diff --git a/jstests/sharding/index1.js b/jstests/sharding/index1.js index 67c4c3ceeb6..019a1100919 100644 --- a/jstests/sharding/index1.js +++ b/jstests/sharding/index1.js @@ -23,8 +23,8 @@ for (var i = 0; i < 22; i++) { if (i == 0) { // Unique index exists, but not the right one. - coll.ensureIndex({num: 1}, {unique: true}); - coll.ensureIndex({x: 1}); + coll.createIndex({num: 1}, {unique: true}); + coll.createIndex({x: 1}); passed = false; try { @@ -37,8 +37,8 @@ for (var i = 0; i < 22; i++) { } if (i == 1) { // Unique index exists as prefix, also index exists - coll.ensureIndex({x: 1}); - coll.ensureIndex({x: 1, num: 1}, {unique: true}); + coll.createIndex({x: 1}); + coll.createIndex({x: 1, num: 1}, {unique: true}); try { s.adminCommand({shardcollection: "" + coll, key: {x: 1}}); @@ -49,8 +49,8 @@ for (var i = 0; i < 22; i++) { } if (i == 2) { // Non-unique index exists as prefix, also index exists. No unique index. - coll.ensureIndex({x: 1}); - coll.ensureIndex({x: 1, num: 1}); + coll.createIndex({x: 1}); + coll.createIndex({x: 1, num: 1}); passed = false; try { @@ -66,8 +66,8 @@ for (var i = 0; i < 22; i++) { } if (i == 3) { // Unique index exists as prefix, also unique index exists - coll.ensureIndex({num: 1}, {unique: true}); - coll.ensureIndex({num: 1, x: 1}, {unique: true}); + coll.createIndex({num: 1}, {unique: true}); + coll.createIndex({num: 1, x: 1}, {unique: true}); try { s.adminCommand({shardcollection: "" + coll, key: {num: 1}, unique: true}); @@ -78,7 +78,7 @@ for (var i = 0; i < 22; i++) { } if (i == 4) { // Unique index exists as id, also unique prefix index exists - coll.ensureIndex({_id: 1, num: 1}, {unique: true}); + coll.createIndex({_id: 1, num: 1}, {unique: true}); try { s.adminCommand({shardcollection: "" + coll, key: {_id: 1}, unique: true}); @@ -89,7 +89,7 @@ for (var i = 0; i < 22; i++) { } if (i == 5) { // Unique index exists as id, also unique prefix index exists - coll.ensureIndex({_id: 1, num: 1}, {unique: true}); + coll.createIndex({_id: 1, num: 1}, {unique: true}); try { s.adminCommand({shardcollection: "" + coll, key: {_id: 1, num: 1}, unique: true}); @@ -102,7 +102,7 @@ for (var i = 0; i < 22; i++) { coll.remove({}); // Unique index does not exist, also unique prefix index exists - coll.ensureIndex({num: 1, _id: 1}, {unique: true}); + coll.createIndex({num: 1, _id: 1}, {unique: true}); try { s.adminCommand({shardcollection: "" + coll, key: {num: 1}, unique: true}); @@ -165,8 +165,8 @@ for (var i = 0; i < 22; i++) { } if (i == 9) { // Unique index exists on a different field as well - coll.ensureIndex({num: 1}, {unique: true}); - coll.ensureIndex({x: 1}); + coll.createIndex({num: 1}, {unique: true}); + coll.createIndex({x: 1}); passed = false; try { @@ -189,7 +189,7 @@ for (var i = 0; i < 22; i++) { assert(!passed, "Should not be able to shard without index"); // now add containing index and try sharding by prefix - coll.ensureIndex({num: 1, x: 1}); + coll.createIndex({num: 1, x: 1}); try { s.adminCommand({shardcollection: "" + coll, key: {num: 1}}); @@ -208,7 +208,7 @@ for (var i = 0; i < 22; i++) { coll.remove({}); // empty collection with useful index. check new index not created - coll.ensureIndex({num: 1, x: 1}); + coll.createIndex({num: 1, x: 1}); try { s.adminCommand({shardcollection: "" + coll, key: {num: 1}}); @@ -226,7 +226,7 @@ for (var i = 0; i < 22; i++) { if (i == 12) { // check multikey values for x make index unusable for shard key coll.save({num: 100, x: [2, 3]}); - coll.ensureIndex({num: 1, x: 1}); + coll.createIndex({num: 1, x: 1}); passed = false; try { @@ -239,7 +239,7 @@ for (var i = 0; i < 22; i++) { } if (i == 13) { coll.save({num: [100, 200], x: 10}); - coll.ensureIndex({num: 1, x: 1}); + coll.createIndex({num: 1, x: 1}); passed = false; try { @@ -252,7 +252,7 @@ for (var i = 0; i < 22; i++) { } if (i == 14) { coll.save({num: 100, x: 10, y: [1, 2]}); - coll.ensureIndex({num: 1, x: 1, y: 1}); + coll.createIndex({num: 1, x: 1, y: 1}); passed = false; try { @@ -265,7 +265,7 @@ for (var i = 0; i < 22; i++) { } if (i == 15) { // try sharding with a hashed index - coll.ensureIndex({num: "hashed"}); + coll.createIndex({num: "hashed"}); try { s.adminCommand({shardcollection: "" + coll, key: {num: "hashed"}}); @@ -276,7 +276,7 @@ for (var i = 0; i < 22; i++) { } if (i == 16) { // create hashed index, but try to declare it unique when sharding - coll.ensureIndex({num: "hashed"}); + coll.createIndex({num: "hashed"}); passed = false; try { @@ -289,8 +289,8 @@ for (var i = 0; i < 22; i++) { } if (i == 17) { // create hashed index, but unrelated unique index present - coll.ensureIndex({x: "hashed"}); - coll.ensureIndex({num: 1}, {unique: true}); + coll.createIndex({x: "hashed"}); + coll.createIndex({num: 1}, {unique: true}); passed = false; try { @@ -303,8 +303,8 @@ for (var i = 0; i < 22; i++) { } if (i == 18) { // create hashed index, and a regular unique index exists on same field - coll.ensureIndex({num: "hashed"}); - coll.ensureIndex({num: 1}, {unique: true}); + coll.createIndex({num: "hashed"}); + coll.createIndex({num: 1}, {unique: true}); try { s.adminCommand({shardcollection: "" + coll, key: {num: "hashed"}}); @@ -315,7 +315,7 @@ for (var i = 0; i < 22; i++) { } if (i == 19) { // Create sparse index. - coll.ensureIndex({x: 1}, {sparse: true}); + coll.createIndex({x: 1}, {sparse: true}); passed = false; try { @@ -328,7 +328,7 @@ for (var i = 0; i < 22; i++) { } if (i == 20) { // Create partial index. - coll.ensureIndex({x: 1}, {filter: {num: {$gt: 1}}}); + coll.createIndex({x: 1}, {filter: {num: {$gt: 1}}}); passed = false; try { @@ -344,8 +344,8 @@ for (var i = 0; i < 22; i++) { // where // both are prefixed by the shard key. - coll.ensureIndex({x: 1, num: 1}, {filter: {num: {$gt: 1}}}); - coll.ensureIndex({x: 1, num: -1}); + coll.createIndex({x: 1, num: 1}, {filter: {num: {$gt: 1}}}); + coll.createIndex({x: 1, num: -1}); try { s.adminCommand({shardcollection: "" + coll, key: {x: 1}}); diff --git a/jstests/sharding/key_many.js b/jstests/sharding/key_many.js index 86ac72100bd..e3ef862e8e8 100644 --- a/jstests/sharding/key_many.js +++ b/jstests/sharding/key_many.js @@ -219,7 +219,7 @@ for (var i = 0; i < types.length; i++) { assert.commandWorked( c.update(makeObjectDotted(curT.values[3]), {$set: {xx: 17}}, {upsert: true})); - assert.commandWorked(c.ensureIndex({_id: 1})); + assert.commandWorked(c.createIndex({_id: 1})); // multi update var mysum = 0; diff --git a/jstests/sharding/limit_push.js b/jstests/sharding/limit_push.js index ef6b7a1c903..a6773f1263e 100644 --- a/jstests/sharding/limit_push.js +++ b/jstests/sharding/limit_push.js @@ -9,7 +9,7 @@ var db = s.getDB("test"); for (i = 0; i < 100; i++) { db.limit_push.insert({_id: i, x: i}); } -db.limit_push.ensureIndex({x: 1}); +db.limit_push.createIndex({x: 1}); assert.eq(100, db.limit_push.find().length(), "Incorrect number of documents"); // Shard the collection diff --git a/jstests/sharding/mongos_validate_writes.js b/jstests/sharding/mongos_validate_writes.js index fbcd98249f6..0852dccf763 100644 --- a/jstests/sharding/mongos_validate_writes.js +++ b/jstests/sharding/mongos_validate_writes.js @@ -19,7 +19,7 @@ var staleCollB = staleMongosB.getCollection(coll + ""); assert.commandWorked(admin.runCommand({enableSharding: coll.getDB() + ""})); st.ensurePrimaryShard(coll.getDB().getName(), st.shard1.shardName); -coll.ensureIndex({a: 1}); +coll.createIndex({a: 1}); // Shard the collection on {a: 1} and move one chunk to another shard. Updates need to be across // two shards to trigger an error, otherwise they are versioned and will succeed after raising @@ -32,7 +32,7 @@ staleCollB.findOne(); // Change the collection sharding state coll.drop(); -coll.ensureIndex({b: 1}); +coll.createIndex({b: 1}); st.shardColl(coll, {b: 1}, {b: 0}, {b: 1}, coll.getDB(), true); // Make sure that we can successfully insert, even though we have stale state @@ -40,7 +40,7 @@ assert.commandWorked(staleCollA.insert({b: "b"})); // Change the collection sharding state coll.drop(); -coll.ensureIndex({c: 1}); +coll.createIndex({c: 1}); st.shardColl(coll, {c: 1}, {c: 0}, {c: 1}, coll.getDB(), true); // Make sure we can successfully upsert, even though we have stale state @@ -52,7 +52,7 @@ assert.commandFailedWithCode(staleCollB.update({b: "b"}, {b: "b"}, true), // Change the collection sharding state coll.drop(); -coll.ensureIndex({d: 1}); +coll.createIndex({d: 1}); st.shardColl(coll, {d: 1}, {d: 0}, {d: 1}, coll.getDB(), true); // Make sure we can successfully update, even though we have stale state @@ -68,7 +68,7 @@ assert.eq(staleCollB.findOne().x, "x"); // Change the collection sharding state coll.drop(); -coll.ensureIndex({e: 1}); +coll.createIndex({e: 1}); // Deletes need to be across two shards to trigger an error. st.ensurePrimaryShard(coll.getDB().getName(), st.shard0.shardName); st.shardColl(coll, {e: 1}, {e: 0}, {e: 1}, coll.getDB(), true); diff --git a/jstests/sharding/move_chunk_missing_idx.js b/jstests/sharding/move_chunk_missing_idx.js index 16cc64ddddd..f81369a4a48 100644 --- a/jstests/sharding/move_chunk_missing_idx.js +++ b/jstests/sharding/move_chunk_missing_idx.js @@ -19,7 +19,7 @@ testDB.adminCommand({shardCollection: 'test.user', key: {x: 1}}); // 2. Split chunk into 3 parts. // 3. Move 1 chunk to 2nd shard - should have no issues -testDB.user.ensureIndex({a: 1, b: 1}); +testDB.user.createIndex({a: 1, b: 1}); testDB.adminCommand({split: 'test.user', middle: {x: 0}}); testDB.adminCommand({split: 'test.user', middle: {x: 10}}); diff --git a/jstests/sharding/move_chunk_wc.js b/jstests/sharding/move_chunk_wc.js index 7dc75204d19..b37e2392203 100644 --- a/jstests/sharding/move_chunk_wc.js +++ b/jstests/sharding/move_chunk_wc.js @@ -30,7 +30,7 @@ var numberDoc = 20; var s0 = st.shard0.shardName; var s1 = st.shard1.shardName; -coll.ensureIndex({x: 1}, {unique: true}); +coll.createIndex({x: 1}, {unique: true}); st.ensurePrimaryShard(db.toString(), s0); st.shardColl(collName, {x: 1}, {x: numberDoc / 2}, {x: numberDoc / 2}, db.toString(), true); diff --git a/jstests/sharding/prefix_shard_key.js b/jstests/sharding/prefix_shard_key.js index fdec2e887ec..b25df2d838b 100644 --- a/jstests/sharding/prefix_shard_key.js +++ b/jstests/sharding/prefix_shard_key.js @@ -49,7 +49,7 @@ assert.throws(function() { }); // create usable index -assert.commandWorked(coll.ensureIndex({num: 1, x: 1})); +assert.commandWorked(coll.createIndex({num: 1, x: 1})); // usable index, doc with empty 'num' value assert.commandWorked(coll.insert({x: -5})); @@ -84,7 +84,7 @@ assert.commandWorked(s.s0.adminCommand({ // Migrations and splits will still work on a sharded collection that only has multi key // index. -db.user.ensureIndex({num: 1, x: 1}); +db.user.createIndex({num: 1, x: 1}); db.adminCommand({shardCollection: 'test.user', key: {num: 1}}); var indexCount = db.user.getIndexes().length; @@ -152,11 +152,11 @@ for (i = 0; i < 3; i++) { // declare a longer index if (i == 0) { - assert.commandWorked(coll2.ensureIndex({skey: 1, extra: 1})); + assert.commandWorked(coll2.createIndex({skey: 1, extra: 1})); } else if (i == 1) { - assert.commandWorked(coll2.ensureIndex({skey: 1, extra: -1})); + assert.commandWorked(coll2.createIndex({skey: 1, extra: -1})); } else if (i == 2) { - assert.commandWorked(coll2.ensureIndex({skey: 1, extra: 1, superfluous: -1})); + assert.commandWorked(coll2.createIndex({skey: 1, extra: 1, superfluous: -1})); } // then shard collection on prefix diff --git a/jstests/sharding/printShardingStatus.js b/jstests/sharding/printShardingStatus.js index 691f627ef72..e0439d63bc1 100644 --- a/jstests/sharding/printShardingStatus.js +++ b/jstests/sharding/printShardingStatus.js @@ -115,7 +115,7 @@ config.getCollectionInfos().forEach(function(c) { delete i.key; delete i.ns; delete i.v; - assert.commandWorked(configCopy.getCollection(c.name).ensureIndex(key, i)); + assert.commandWorked(configCopy.getCollection(c.name).createIndex(key, i)); }); }); diff --git a/jstests/sharding/query/explain_cmd.js b/jstests/sharding/query/explain_cmd.js index b07eacbfb3f..fb1d789e1db 100644 --- a/jstests/sharding/query/explain_cmd.js +++ b/jstests/sharding/query/explain_cmd.js @@ -12,8 +12,8 @@ var explain; // 'b'. var collSharded = db.getCollection("mongos_explain_cmd"); collSharded.drop(); -collSharded.ensureIndex({a: 1}); -collSharded.ensureIndex({b: 1}); +collSharded.createIndex({a: 1}); +collSharded.createIndex({b: 1}); // Enable sharding. assert.commandWorked(db.adminCommand({enableSharding: db.getName()})); @@ -65,8 +65,8 @@ assert.commandFailed(explain); // Setup a collection that is not sharded. var collUnsharded = db.getCollection("mongos_explain_cmd_unsharded"); collUnsharded.drop(); -collUnsharded.ensureIndex({a: 1}); -collUnsharded.ensureIndex({b: 1}); +collUnsharded.createIndex({a: 1}); +collUnsharded.createIndex({b: 1}); for (var i = 0; i < 3; i++) { collUnsharded.insert({_id: i, a: i, b: 1}); diff --git a/jstests/sharding/query/explain_exec_stats_on_shards.js b/jstests/sharding/query/explain_exec_stats_on_shards.js index fa2a21864d8..253b47a3238 100644 --- a/jstests/sharding/query/explain_exec_stats_on_shards.js +++ b/jstests/sharding/query/explain_exec_stats_on_shards.js @@ -98,7 +98,7 @@ st.ensurePrimaryShard(db.getName(), st.shard0.shardName); // Setup an unsharded collection. const unshardedColl = db.getCollection(`${jsTest.name()}_unsharded`); unshardedColl.drop(); - assert.commandWorked(unshardedColl.ensureIndex({a: 1})); + assert.commandWorked(unshardedColl.createIndex({a: 1})); // Add documents to the collection. const numDocs = 10; diff --git a/jstests/sharding/query/explain_find_and_modify_sharded.js b/jstests/sharding/query/explain_find_and_modify_sharded.js index a8dad43a201..65f5dc17d6c 100644 --- a/jstests/sharding/query/explain_find_and_modify_sharded.js +++ b/jstests/sharding/query/explain_find_and_modify_sharded.js @@ -17,7 +17,7 @@ var shardKey = {a: 1}; var shardedColl = testDB.getCollection(collName); shardedColl.drop(); assert.commandWorked(testDB.createCollection(collName)); -assert.commandWorked(shardedColl.ensureIndex(shardKey)); +assert.commandWorked(shardedColl.createIndex(shardKey)); // Enable sharding on the database and shard the collection. // Use "st.shard0.shardName" as the primary shard. diff --git a/jstests/sharding/query/find_getmore_cmd.js b/jstests/sharding/query/find_getmore_cmd.js index d2dcc311523..997d3bb2207 100644 --- a/jstests/sharding/query/find_getmore_cmd.js +++ b/jstests/sharding/query/find_getmore_cmd.js @@ -25,7 +25,7 @@ assert.commandWorked(coll.insert({_id: 1, a: 5})); assert.commandWorked(coll.insert({_id: 5, a: 20, b: "foo foo foo"})); assert.commandWorked(coll.insert({_id: 9, a: 3})); -assert.commandWorked(coll.ensureIndex({b: "text"})); +assert.commandWorked(coll.createIndex({b: "text"})); assert.commandWorked(db.adminCommand({enableSharding: db.getName()})); st.ensurePrimaryShard(db.getName(), st.shard0.shardName); diff --git a/jstests/sharding/query/geo_near_sharded.js b/jstests/sharding/query/geo_near_sharded.js index cf09b14a533..d68dcdec140 100644 --- a/jstests/sharding/query/geo_near_sharded.js +++ b/jstests/sharding/query/geo_near_sharded.js @@ -39,7 +39,7 @@ function test(st, db, sharded, indexType) { assert.commandWorked(bulk.execute()); assert.eq(db[coll].count(), numPts); - assert.commandWorked(db[coll].ensureIndex({loc: indexType})); + assert.commandWorked(db[coll].createIndex({loc: indexType})); let res = assert.commandWorked(db.runCommand({ aggregate: coll, diff --git a/jstests/sharding/read_pref_cmd.js b/jstests/sharding/read_pref_cmd.js index 3fa06255bfc..d3ac3f4c03a 100644 --- a/jstests/sharding/read_pref_cmd.js +++ b/jstests/sharding/read_pref_cmd.js @@ -307,7 +307,7 @@ let testConnReadPreference = function(conn, isMongos, rsNodes, {readPref, expect cmdTest( {dbStats: 1}, allowedOnSecondary.kAlways, true, formatProfileQuery(kDbName, {dbStats: 1})); - assert.commandWorked(shardedColl.ensureIndex({loc: '2d'})); + assert.commandWorked(shardedColl.createIndex({loc: '2d'})); // TODO: SERVER-38961 Remove when simultaneous index builds complete. // Run a no-op command and wait for it to be applied on secondaries. Due to the asynchronous diff --git a/jstests/sharding/refine_shardkey_config_cache_refresh.js b/jstests/sharding/refine_shardkey_config_cache_refresh.js index 9b343353bd3..595e4f87cda 100644 --- a/jstests/sharding/refine_shardkey_config_cache_refresh.js +++ b/jstests/sharding/refine_shardkey_config_cache_refresh.js @@ -22,7 +22,7 @@ assert.commandWorked(st.s.adminCommand({split: 'test.user', middle: {x: 10}})); assert.commandWorked(testDB.user.insert({x: 1, y: 1})); assert.commandWorked(testDB.user.insert({x: 10, y: 1})); -testDB.user.ensureIndex({x: 1, y: 1}); +testDB.user.createIndex({x: 1, y: 1}); let priConn = st.rs0.getPrimary(); assert.commandWorked( diff --git a/jstests/sharding/shard1.js b/jstests/sharding/shard1.js index d00a961be52..12f326a32f6 100644 --- a/jstests/sharding/shard1.js +++ b/jstests/sharding/shard1.js @@ -11,7 +11,7 @@ assert.commandWorked(db.foo.insert({num: 1, name: "eliot"})); assert.commandWorked(db.foo.insert({num: 2, name: "sara"})); assert.commandWorked(db.foo.insert({num: -1, name: "joe"})); -assert.commandWorked(db.foo.ensureIndex({num: 1})); +assert.commandWorked(db.foo.createIndex({num: 1})); assert.eq(3, db.foo.find().length(), "A"); diff --git a/jstests/sharding/shard7.js b/jstests/sharding/shard7.js index 094688d6e37..9f56553aa7f 100644 --- a/jstests/sharding/shard7.js +++ b/jstests/sharding/shard7.js @@ -47,7 +47,7 @@ assert.commandWorked(c.update(unsatisfiable, {$set: {c: 1}}, false, true)); assert.eq(2, c.count()); assert.eq(0, c.count({c: 1})); -c.ensureIndex({loc: '2d'}); +c.createIndex({loc: '2d'}); c.save({a: 2, b: 2, loc: [0, 0]}); near = c.aggregate({$geoNear: {near: [0, 0], query: unsatisfiable, distanceField: "dist"}}).toArray(); diff --git a/jstests/sharding/shard_insert_getlasterror_w2.js b/jstests/sharding/shard_insert_getlasterror_w2.js index 9db83bf5781..629b97d321a 100644 --- a/jstests/sharding/shard_insert_getlasterror_w2.js +++ b/jstests/sharding/shard_insert_getlasterror_w2.js @@ -47,7 +47,7 @@ assert.commandWorked(mongosConn.adminCommand({addshard: replSet1.getURL()})); // Enable sharding on test db and its collection foo assert.commandWorked(mongosConn.getDB('admin').runCommand({enablesharding: testDBName})); -testDB[testCollName].ensureIndex({x: 1}); +testDB[testCollName].createIndex({x: 1}); assert.commandWorked(mongosConn.getDB('admin').runCommand( {shardcollection: testDBName + '.' + testCollName, key: {x: 1}})); diff --git a/jstests/sharding/sharding_rs1.js b/jstests/sharding/sharding_rs1.js index 61fe245d75b..02b5e13b213 100644 --- a/jstests/sharding/sharding_rs1.js +++ b/jstests/sharding/sharding_rs1.js @@ -52,7 +52,7 @@ assert.eq(num, db.foo.find().itcount(), "C2"); assert.eq(num, db.foo.find().sort({_id: 1}).itcount(), "C3"); assert.eq(num, db.foo.find().sort({_id: -1}).itcount(), "C4"); -db.foo.ensureIndex({x: 1}); +db.foo.createIndex({x: 1}); assert.eq(num, db.foo.find().sort({x: 1}).itcount(), "C5"); assert.eq(num, db.foo.find().sort({x: -1}).itcount(), "C6"); diff --git a/jstests/sharding/sharding_rs2.js b/jstests/sharding/sharding_rs2.js index 8ae4a16185b..4c8f70c569d 100644 --- a/jstests/sharding/sharding_rs2.js +++ b/jstests/sharding/sharding_rs2.js @@ -122,7 +122,7 @@ assert.lte(before.query + 10, after.query, "B3"); // --- add more data ---- -db.foo.ensureIndex({x: 1}); +db.foo.createIndex({x: 1}); var bulk = db.foo.initializeUnorderedBulkOp(); for (var i = 0; i < 100; i++) { diff --git a/jstests/sharding/stats.js b/jstests/sharding/stats.js index 0f9f00a667c..f69aefc6825 100644 --- a/jstests/sharding/stats.js +++ b/jstests/sharding/stats.js @@ -144,7 +144,7 @@ collStatComp(coll_not_scaled, coll_scaled_1024, 1024, true); (function() { var t = db.foo; -assert.commandWorked(t.ensureIndex({a: 1})); +assert.commandWorked(t.createIndex({a: 1})); assert.eq(2, t.getIndexes().length); var isWiredTiger = diff --git a/jstests/sharding/trace_missing_docs_test.js b/jstests/sharding/trace_missing_docs_test.js index ab7b1c058a8..460f392e1c8 100644 --- a/jstests/sharding/trace_missing_docs_test.js +++ b/jstests/sharding/trace_missing_docs_test.js @@ -20,7 +20,7 @@ var testDocMissing = function(useReplicaSet) { assert.commandWorked(admin.runCommand({enableSharding: coll.getDB() + ""})); st.ensurePrimaryShard(coll.getDB() + "", st.shard0.shardName); - coll.ensureIndex({sk: 1}); + coll.createIndex({sk: 1}); assert.commandWorked(admin.runCommand({shardCollection: coll + "", key: {sk: 1}})); assert.commandWorked(coll.insert({_id: 12345, sk: 67890, hello: "world"})); diff --git a/jstests/slow1/conc_update.js b/jstests/slow1/conc_update.js index 80adb4955e4..0ca9ea81bea 100644 --- a/jstests/slow1/conc_update.js +++ b/jstests/slow1/conc_update.js @@ -16,7 +16,7 @@ for (var i = 0; i < NRECORDS; i++) { assert.commandWorked(bulk.execute()); print("making an index (this will take a while)"); -db.conc.ensureIndex({x: 1}); +db.conc.createIndex({x: 1}); var c1 = db.conc.count({x: {$lt: NRECORDS}}); |