При определении схемы Mongoose часто целесообразно указать, какие индексы должны существовать. Тем не менее, во многих случаях мы хотели бы контролировать имя созданного индекса, особенно когда эти индексы являются составными, чтобы их можно было понять.
Действительно, при создании определенных индексов требуется явное указание имени индекса, чтобы избежать превышения index name length limit
.
Поскольку вызывается ensureIndex
( по умолчанию) для индексов, определенных в схеме, каков соответствующий синтаксис для управления именем индекса, созданного с помощью sureIndex? Я предполагаю, что это невозможно с синтаксисом индекса на уровне поля, но наверняка он доступен для индексов на уровне схемы?
var ExampleSchema = new Schema({
a: String,
b: String,
c: Date,
d: Number,
e: { type: [String], index: true } // Field level index
});
// We define compound indexes in the schema
ExampleSchema.index({a: 1, b: 1, c: 1});
ExampleSchema.index({d:1, e:1}, {unique: true});
Стоит отметить, что db.collection.ensureIndex
устарел (по mongodb) , и теперь является псевдонимом для db.collection.createIndex
а>.