我试图用猫鼬设置多个索引。但是只有第一个schema.index()可以工作,如果我更改顺序则可以独立工作。
const schema = new mongoose.Schema({
email: {
type: String,
required: true,
},
name: {
type: String,
required: true,
},
})
schema.index({ name: 'text' })
schema.index({ email: 'text' }, { unique: true })
如何设置两个schema.index()?
答案 0 :(得分:1)
由于猫鼬支持直接在架构字段上设置索引,因此您可以这样做:
const schema = new mongoose.Schema({
name: {
type: String,
required: true,
index: true // <-- non text index here
},
email: {
type: String,
required: true,
unique: true // <-- set unique here
}
})
schema.index({ email: 'text', name: 'text'}); // <-- define text indexes