প্রতিশ্রুতি ব্যবহার করুন ।
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);