未创建 Mongoose 复合索引(太长)
Mongoose compound indexes not being created (Too long)
我在 MongoDB 中的一个模式上创建多个复合索引时遇到一些问题。使用 MongoLab 时,我知道由于命名问题,有些索引在太长时不会创建。所以我怀疑这可能是一些没有创建的原因
var Schema = new mongoose.Schema({ ... });
// Created
Schema.index({
one: 1,
three: 1
});
// Not Created
Schema.index({
one: 1,
two: 1,
three: 1,
four: 1,
five: 1,
six: 1,
seven: 1,
eight: 1,
nine: 1,
ten: 1
});
默认索引名称有限制(https://docs.mongodb.org/manual/reference/limits/#Index-Name-Length)
您可以通过将附加选项对象传递给 Schema.index
来指定自定义索引名称
Schema.index({
one: 1,
two: 1,
three: 1,
four: 1,
five: 1,
six: 1,
seven: 1,
eight: 1,
nine: 1,
ten: 1 },
{ name: 'my_index_name' }
);
我在 MongoDB 中的一个模式上创建多个复合索引时遇到一些问题。使用 MongoLab 时,我知道由于命名问题,有些索引在太长时不会创建。所以我怀疑这可能是一些没有创建的原因
var Schema = new mongoose.Schema({ ... });
// Created
Schema.index({
one: 1,
three: 1
});
// Not Created
Schema.index({
one: 1,
two: 1,
three: 1,
four: 1,
five: 1,
six: 1,
seven: 1,
eight: 1,
nine: 1,
ten: 1
});
默认索引名称有限制(https://docs.mongodb.org/manual/reference/limits/#Index-Name-Length)
您可以通过将附加选项对象传递给 Schema.index
Schema.index({
one: 1,
two: 1,
three: 1,
four: 1,
five: 1,
six: 1,
seven: 1,
eight: 1,
nine: 1,
ten: 1 },
{ name: 'my_index_name' }
);