-
Notifications
You must be signed in to change notification settings - Fork 5.6k
/
index_id_desc.js
38 lines (34 loc) · 1.23 KB
/
index_id_desc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// 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;
var res;
// Test ensureIndex({_id: -1}) on a nonexistent collection.
coll.drop();
res = coll.ensureIndex({_id: -1});
assert.isnull(res);
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);
res = coll.ensureIndex({_id: -1});
assert.isnull(res);
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);
res = coll.ensureIndex({_id: -1});
assert.isnull(res);
indexes = coll.getIndexes();
assert.eq(1, indexes.length);
assert.eq("_id_", indexes[0].name);
assert.eq({_id: 1}, indexes[0].key);