I want to drop some mongodb collections, but that’s an asynchronous task. The code will be:
var mongoose = require('mongoose');
mongoose.connect('mongo://localhost/xxx');
var conn = mongoose.connection;
['aaa','bbb','ccc'].forEach(function(name){
conn.collection(name).drop(function(err) {
console.log('dropped');
});
});
console.log('all dropped');
The console displays:
all dropped
dropped
dropped
dropped
What is the simplest way to make sure all dropped will be printed after all collections has been dropped? Any 3rd-party can be used to simplify the code.
I see you are using
mongooseso you are talking about server-side JavaScript. In that case I advice looking at async module and useasync.parallel(...). You will find this module really helpful – it was developed to solve the problem you are struggling with. Your code may look like this