Я хотел бы знать, есть ли команда для удаления всех баз данных из моей MongoDB?
Я знаю, что если я хочу удалить только одну таблицу данных, мне просто нужно ввести имя базы данных, как в приведенном ниже коде, но я не хочу указывать его.
mongo DB_NAME --eval 'db.dropDatabase();'
var mongo = db.getMongo(); mongo.getDBNames().forEach(function (dbname) { var db = mongo.getDB(dbname); db.dropDatabase(); });
Попробуйте эту команду:
источник
docker exec mongodb sh -c "mongo --quiet --eval 'db.getMongo().getDBNames().forEach(function(i){db.getSiblingDB(i).dropDatabase()})'"
Вы также можете сделать это с помощью простой команды mongo:
источник
Добавляя к ответу @ ALoR, для удобства вы можете поместить следующее в ~ / .mongorc.js
Тогда в оболочке mongo вы можете просто сделать
Из документов:
источник
Сохраните это в drop_all_dbs.js:
Теперь вы можете выполнить:
и все базы данных (кроме admin и local) будут удалены.
Этот ответ является копией ответа ALoR, просто исправьте падение системных dbs
источник
Вы можете сделать это легко с помощью официального драйвера C #:
источник
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. Кредиты на все ответы выше. Просто исключите также базу данных config.
источник
Это так же просто, как
Или вы можете запустить сеанс mongo на своем терминале и написать
Что в точности то же самое.
источник