Mongoose.js: remove collection or DB

Is it possible to remove collection or entire db using mongoose.js?


Solution 1:

Yes, although you do it via the native MongoDB driver and not Mongoose itself. Assuming a required, connected, mongoose variable, the native Db object is accessible via mongoose.connection.db, and that object provides dropCollection and dropDatabase methods.

// Drop the 'foo' collection from the current database
mongoose.connection.db.dropCollection('foo', function(err, result) {...});

// Drop the current database
mongoose.connection.db.dropDatabase(function(err, result) {...});

Solution 2:

This can now be done in Mongoose.

MyModel.collection.drop();

Hat tip: https://github.com/Automattic/mongoose/issues/4511