প্রতিশ্রুতি ব্যবহার করুন ।
var mongoose = require('mongoose');
mongoose.connect('your MongoDB connection string');
var conn = mongoose.connection;
var promises = ['aaa', 'bbb', 'ccc'].map(function(name) {
return new Promise(function(resolve, reject) {
var collection = conn.collection(name);
collection.drop(function(err) {
if (err) { return reject(err); }
console.log('dropped ' + name);
resolve();
});
});
});
Promise.all(promises)
.then(function() { console.log('all dropped)'); })
.catch(console.error);
এটি প্রতিটি সংগ্রহের ড্রপ করে, প্রতিটিের পরে "ফেলে দেওয়া" মুদ্রণ করে এবং তারপরে সম্পূর্ণ হয়ে গেলে "সমস্ত ড্রপ" মুদ্রণ করে। যদি কোনও ত্রুটি দেখা দেয় তবে এটি প্রদর্শিত হয় stderr।
পূর্ববর্তী উত্তর (প্রতিশ্রুতিগুলির জন্য নোডের দেশীয় সমর্থন এটি পূর্ব-তারিখগুলি):
কিউ প্রতিশ্রুতি বা ব্লুবার্ড প্রতিশ্রুতি ব্যবহার করুন ।
সঙ্গে প্রশ্ন :
var Q = require('q');
var mongoose = require('mongoose');
mongoose.connect('your MongoDB connection string');
var conn = mongoose.connection;
var promises = ['aaa','bbb','ccc'].map(function(name){
var collection = conn.collection(name);
return Q.ninvoke(collection, 'drop')
.then(function() { console.log('dropped ' + name); });
});
Q.all(promises)
.then(function() { console.log('all dropped'); })
.fail(console.error);
সঙ্গে Bluebird :
var Promise = require('bluebird');
var mongoose = Promise.promisifyAll(require('mongoose'));
mongoose.connect('your MongoDB connection string');
var conn = mongoose.connection;
var promises = ['aaa', 'bbb', 'ccc'].map(function(name) {
return conn.collection(name).dropAsync().then(function() {
console.log('dropped ' + name);
});
});
Promise.all(promises)
.then(function() { console.log('all dropped'); })
.error(console.error);