اذهب إلى المحتوى
  • 0

حذف جميع قواعد البيانات في mongodb

Tamim Fahed

السؤال

لقد قمت بإنشاء عدة قواعد بيانات للتجربة، ولكن هل هنالك أمر معيّن لحذف جميع قواعد البيانات الموجودة ؟ دون الحاجة لذكر جميع اسماء قواعد البيانات.

من خلال التوثيق الرسمي لاحظت فقط وجود حذف قاعدة بيانات واحدة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يمكنك إنشاء حلقة جافا سكريبت تقوم بالمهمة ثم تنفيذها في mongo console

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

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمكنك أن تستخدم هذا الأمر:

mongo --quiet --eval 'db.getMongo().getDBNames().forEach(function(i){db.getSiblingDB(i).dropDatabase()})'

يقوم هذا الأمر بطلب من mongo أن تقوم بتنفيذ تعليمة جافاسكريبت (لاحظ العلم --eval)، وستقوم هذه التعليمة بالمرور على كل قواعد البيانات من خلال حلقة forEach وحذف كل قاعدة بيانات على حدى.

يمكنك أيضًا أن تقوم بعمل ملف جافاسكريبت وتقوم بإضافة كود جافاسكريبت السابقة إليه، وبعد ذلك تستطيع حذف كل قواعد البيانات من خلال تشغيله فقط:

mongo filename.js

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمكنك تنفيذ أمر mongo التالي لحذف قواعد البيانات:

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();
 })

أو يمكنك إضافة دالة JavaScript التالية لملف 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();
    }
}

و بعدها يمكنك تنفيذ هذا الأمر في mongo shell:

dropDatabases()

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...