जवाबों:
आप एक जावास्क्रिप्ट लूप बना सकते हैं जो काम करते हैं और फिर इसे मोंगोकॉन कंसोल में निष्पादित करते हैं।
var dbs = db.getMongo().getDBNames()
for(var i in dbs){
db = db.getMongo().getDB( dbs[i] );
print( "dropping db " + db.getName() );
db.dropDatabase();
}
इसे dropall.js में सहेजें और फिर निष्पादित करें:
mongo dropall.js
इस आदेश का प्रयास करें:
mongo --quiet --eval 'db.getMongo().getDBNames().forEach(function(i){db.getSiblingDB(i).dropDatabase()})'
docker exec mongodb sh -c "mongo --quiet --eval 'db.getMongo().getDBNames().forEach(function(i){db.getSiblingDB(i).dropDatabase()})'"
आप इसे एक साधारण मानदंड कमांड के साथ भी कर सकते हैं:
db.adminCommand("listDatabases").databases.forEach( function (d) {
if (d.name != "local" && d.name != "admin" && d.name != "apiomat" && d.name != "config")
db.getSiblingDB(d.name).dropDatabase();
})
सुविधा के लिए @ ALoR के उत्तर में जोड़ना, आप निम्नलिखित को ~ / .mongorc.js में डाल सकते हैं
function dropDatabases(){
var mongo = db.getMongo();
var dbNames = mongo.getDBNames();
for (var i = 0; i < dbNames.length; i++) {
var db = mongo.getDB( dbNames[i] );
print( "Dropping database " + db.getName() + "..." );
db.dropDatabase();
}
}
फिर मोंगो शेल में आप बस कर सकते हैं
dropDatabases()
डॉक्स से:
मोंगो को आंनदित करने वाले यूजर की होम डायरेक्टरी से मोंगो .mongorc.js फाइल पढ़ेगा। फ़ाइल में, उपयोगकर्ता वेरिएबल्स को परिभाषित कर सकते हैं, मोंगो शेल प्रॉम्प्ट को कस्टमाइज़ कर सकते हैं या ऐसी जानकारी को अपडेट कर सकते हैं, जिसे वे हर बार शेल लॉन्च करने के बाद अपडेट करना चाहेंगे।
इसे drop_all_dbs.js पर सहेजें:
var databases = db.getMongo().getDBNames()
for(var i in databases){
db = db.getMongo().getDB( databases[i] );
if(db.getName() == "admin" || db.getName() == "local"){
print("skipping db " + db.getName())
continue
}
print( "dropping db " + db.getName() );
db.dropDatabase();
}
अब आप निष्पादित कर सकते हैं:
mongo drop_all_dbs.js
और सभी डेटाबेस (व्यवस्थापक और स्थानीय को छोड़कर) को छोड़ दिया जाएगा।
यह उत्तर ALoR के एक की एक प्रति है, जो सिस्टम dbs की सिर्फ एक बूंद को ठीक करता है
आप इसे सी # आधिकारिक ड्राइवर के माध्यम से आसान कर सकते हैं:
var _mongoServer = MongoServer.Create("mongodb://localhost:27020");
var names = _mongoServer.GetDatabaseNames();
foreach (var name in names)
{
_mongoServer.DropDatabase(name);
}
var mongo = db.getMongo(); mongo.getDBNames().filter(n => n != 'admin' && n != 'local' && n != 'config').forEach(function (dbname) { var db = mongo.getDB(dbname); db.dropDatabase(); });
यह एक कॉपी और mongoshell पर निष्पादित करने के लिए सुरक्षित है। उपरोक्त सभी उत्तरों का श्रेय बस 'कॉन्फ़िगर' डेटाबेस को भी बाहर रखें।
यह जितना आसान है
mongo --eval 'db.dropDatabase()'
या, आप अपने टर्मिनल पर एक मोंगो सत्र शुरू कर सकते हैं और लिख सकते हैं
db.dropDatabase()
जो बिलकुल एक जैसा हो।
var mongo = db.getMongo(); mongo.getDBNames().forEach(function (dbname) { var db = mongo.getDB(dbname); db.dropDatabase(); });