Gostaria de saber se existe um comando para eliminar todos os bancos de dados do meu MongoDB?
Eu sei que se eu quiser descartar apenas uma tabela de dados, eu só preciso digitar o nome do banco de dados como o código abaixo, mas não quero ter que especificá-lo.
mongo DB_NAME --eval 'db.dropDatabase();'
var mongo = db.getMongo(); mongo.getDBNames().forEach(function (dbname) { var db = mongo.getDB(dbname); db.dropDatabase(); });
Tente este comando:
fonte
docker exec mongodb sh -c "mongo --quiet --eval 'db.getMongo().getDBNames().forEach(function(i){db.getSiblingDB(i).dropDatabase()})'"
Você também pode fazer isso com um simples comando mongo:
fonte
Adicionando a resposta de @ALoR, por conveniência, você pode colocar o seguinte em ~ / .mongorc.js
Então, no shell mongo, você pode simplesmente fazer
Dos documentos:
fonte
Salve em drop_all_dbs.js:
Agora você pode executar:
e todos os bancos de dados (exceto para admin e local) serão eliminados.
Esta resposta é uma cópia do ALoR, apenas consertar queda de banco de dados do sistema
fonte
Você pode fazer isso facilmente por meio do driver oficial c #:
fonte
var mongo = db.getMongo(); mongo.getDBNames().filter(n => n != 'admin' && n != 'local' && n != 'config').forEach(function (dbname) { var db = mongo.getDB(dbname); db.dropDatabase(); });
Este é seguro para copiar e executar no mongoshell. Créditos para todas as respostas acima. Apenas exclua o banco de dados 'config' também.
fonte
É tão fácil quanto
Ou você pode iniciar uma sessão mongo em seu terminal e escrever
Que é exatamente o mesmo.
fonte