如何使用Mongoose删除索引

时间:2015-12-24 09:37:06

标签: mongodb mongoose mongoose-schema

猫鼬

Imagdata.dropIndexes( { "image_id": 1 }, function(err){
         if(err){
             res.send("error");
        }
        else{
            res.send("success");
        }
});

这是我用来删除字段索引的代码' image_id'。当我尝试执行此函数时,它显示" TypeError:Imagdata.dropIndexes不是函数"。如何解决这个问题...

2 个答案:

答案 0 :(得分:5)

您需要使用模型的原始collection属性来访问基础MongoDB API:

Imagdata.collection.dropIndex(...);

答案 1 :(得分:0)

您需要同步索引。查看此来源:https://mongoosejs.com/docs/api.html#model_Model.syncIndexes

const schema = new Schema({ name: { type: String, unique: true } });
const Customer = mongoose.model('Customer', schema);
await Customer.collection.createIndex({ age: 1 }); // Index is not in schema
// Will drop the 'age' index and create an index on `name`
await Customer.syncIndexes();