I need to create several deployment scripts like data migration and fixtures for a MongoDB database and I couldn’t find enough information about how to drop indexes using Mongoose API. This is pretty straight-forward when using the official MongoDB API:
To delete all indexes on the specified collection:
db.collection.dropIndexes();
However, I would like to use Mongoose for this and I tried to use executeDbCommand adapted from this post, but with no success:
mongoose.connection.db.executeDbCommand({ dropIndexes: collectionName, index: '*' },
function(err, result) { /* ... */ });
Should I use the official MongoDB API for Node.js or I just missed something in this approach?
To do this via the Mongoose model for the collection, you can call
dropAllIndexesof the native collection:Update
dropAllIndexesis deprecated in the 2.x version of the native driver, sodropIndexesshould be used instead: