mirror of https://github.com/mongodb/mongo
46 lines
1.1 KiB
JavaScript
46 lines
1.1 KiB
JavaScript
// Cannot implicitly shard accessed collections because of not being able to create unique index
|
|
// using hashed shard key pattern.
|
|
// @tags: [cannot_create_unique_index_when_using_hashed_shard_key]
|
|
|
|
t = db.indexapi;
|
|
t.drop();
|
|
|
|
key = {
|
|
x: 1
|
|
};
|
|
|
|
c = {
|
|
ns: t._fullName,
|
|
key: key,
|
|
name: t._genIndexName(key)
|
|
};
|
|
assert.eq(c, t._indexSpec({x: 1}), "A");
|
|
|
|
c.name = "bob";
|
|
assert.eq(c, t._indexSpec({x: 1}, "bob"), "B");
|
|
|
|
c.name = t._genIndexName(key);
|
|
assert.eq(c, t._indexSpec({x: 1}), "C");
|
|
|
|
c.unique = true;
|
|
assert.eq(c, t._indexSpec({x: 1}, true), "D");
|
|
assert.eq(c, t._indexSpec({x: 1}, [true]), "E");
|
|
assert.eq(c, t._indexSpec({x: 1}, {unique: true}), "F");
|
|
|
|
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});
|
|
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});
|
|
idx = t.getIndexes();
|
|
assert.eq(2, idx.length, "M1");
|
|
assert.eq(key, idx[1].key, "M2");
|
|
assert(idx[1].unique, "M3");
|