Files
mongo/jstests/core/index_id_desc.js
2014-08-12 10:39:42 -04:00

35 lines
1.2 KiB
JavaScript

// Test creation of an index with key pattern {_id: -1}. It is expected that a request for creation
// of a {_id: -1} index is treated as if it were a request for creation of a {_id: 1} index.
// SERVER-14833.
var coll = db.index_id_desc;
var indexes;
// Test ensureIndex({_id: -1}) on a nonexistent collection.
coll.drop();
assert.commandWorked(coll.ensureIndex({_id: -1}));
indexes = coll.getIndexes();
assert.eq(1, indexes.length);
assert.eq("_id_", indexes[0].name);
assert.eq({_id: 1}, indexes[0].key);
// Test ensureIndex({_id: -1}) on a normal empty collection.
coll.drop();
assert.commandWorked(coll.runCommand("create"));
assert.eq(1, coll.getIndexes().length);
assert.commandWorked(coll.ensureIndex({_id: -1}));
indexes = coll.getIndexes();
assert.eq(1, indexes.length);
assert.eq("_id_", indexes[0].name);
assert.eq({_id: 1}, indexes[0].key);
// Test ensureIndex({_id: -1}) on an empty collection with no _id index.
coll.drop();
assert.commandWorked(coll.runCommand("create", {autoIndexId: false}));
assert.eq(0, coll.getIndexes().length);
assert.commandWorked(coll.ensureIndex({_id: -1}));
indexes = coll.getIndexes();
assert.eq(1, indexes.length);
assert.eq("_id_", indexes[0].name);
assert.eq({_id: 1}, indexes[0].key);