如何使用 Mongoose 删除索引

How to drop index using Mongoose

猫鼬

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

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

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

Imagdata.collection.dropIndex(...);

您需要同步索引。查看此来源: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();