web-dev-qa-db-fra.com

Comment supprimer une base de données MongoDB de la ligne de commande?

Quelle est la façon la plus simple de procéder depuis mon invite bash?

803
coffee-grinder

Comme ça:

mongo <dbname> --eval "db.dropDatabase()"

Plus d'informations sur la création de scripts pour le shell à partir de la ligne de commande ici: https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-Shell/#scripting

1026
Tim Gautier

Le meilleur moyen de le faire est depuis la console mongodb: 

> use mydb; 
> db.dropDatabase();

Vous pouvez également arrêter mongod et supprimer les fichiers de données de votre répertoire de données, puis redémarrer.

Astuce: vous pouvez également déplacer les fichiers de données dans un sous-dossier et les supprimer si vous êtes certain de ne plus en avoir besoin.

824
mnemosyn

Vous n'avez pas besoin d'heredocs ou eval , mongo lui-même peut servir d'interprète. 

#!/usr/bin/env mongo
var db = new Mongo().getDB("someDatabase");
db.dropDatabase();

Rendre le fichier exécutable et l'exécuter.

112
mikemaccana

J'ai trouvé cela facile à retenir:

mongo //to start the mongodb Shell

show dbs //to list existing databases

use <dbname> //the <dbname> is the database you'd like to drop

db //should show <dbname> just to be sure I'm working with the right database

db.dropDatabase() //will delete the database & return { "dropped" : "<dbname>", "ok" : 1 }
108
Alex Baban

Démarrer MongoDB

La commande pour déposer la base de données est:

1. sélectionnez d'abord la base de données que vous souhaitez supprimer

use < database name >

2. Alors utilisez ceci ..

db.dropDatabase()
31
user2719890

Vous pouvez aussi utiliser un "heredoc":

mongo localhost/db <<EOF
db.dropDatabase()
EOF

Résultats en sortie comme:

mongo localhost/db <<EOF
db.dropDatabase()
EOF
MongoDB Shell version: 2.2.2
connecting to: localhost/db
{ "dropped" : "db", "ok" : 1 }    
bye

J'aime utiliser heredocs pour des choses comme celle-ci, au cas où vous voudriez une séquence de commandes plus complexe. 

28
David

Autre moyen:

echo "db.dropDatabase()" | mongo <database name>
17
Gabriel Mancini

Voici quelques opérations d’utilisation complète de la suppression de mongodb avec mongo Shell

Pour supprimer un document particulier dans des collections: db.mycollection.remove( {name:"stack"} )

Pour supprimer tous les documents dans les collections: db.mycollection.remove()

Pour supprimer la collection : db.mycollection.drop()

pour supprimer la base de données : commencez par aller dans cette base de données avec la commande use mydb puis 

db.dropDatabase()

directement depuis la commande Invite ou blash: mongo mydb --eval "db.dropDatabase()

17
bhv

Exécuter dans un terminal:

mongo // To go to Shell

show databases // To show all existing databases.

use <DATA_BASE> // To switch to the wanted database.

db.dropDatabase() // To remove the current database.
15
Anderson Lopes

Ouvrez une autre fenêtre de terminal et exécutez les commandes suivantes, 

mongodb
use mydb
db.dropDatabase()

La sortie de cette opération doit ressembler à ce qui suit

MAC:FOLDER USER$ mongodb
> show databases
local      0.78125GB
mydb       0.23012GB
test       0.23012GB
> use mydb
switched to db mydb
>db.dropDatabase()
{ "dropped" : "mydb", "ok" : 1 }
>

Veuillez noter que mydb est toujours utilisé. Par conséquent, l'insertion de toute entrée à ce moment initialisera à nouveau la base de données.

11
helcode

En utilisant Javascript, vous pouvez facilement créer un script drop_bad.js pour supprimer votre base de données:

créer drop_bad.js :

use bad;
db.dropDatabase();

Puis exécutez 1 commande dans terminal pour exécuter le script avec mongo Shell:

mongo < drop_bad.js
4
sergiuz

Même s'il existe plusieurs méthodes, la meilleure façon (la plus efficace et la plus simple) consiste à utiliser db.dropDatabase()

3
Lakmal Vithanage

Connectez-vous à votre ligne de commande mongoDB: Et tapez les commandes ci-dessous .utilisez "YOUR_DATABASE_NAME";db.dropDatabase ();

0

one liner remote supprime toutes les collections de la base de données mongo

note doit utiliser --Host, (-h est une aide pour la commande mongo), et -d n'est pas une option, sélectionnez la base de données et la commande après le mot de passe.

mongo --Host <mongo_Host>:<mongo_port> -u <db_user> -p <db_pass> <your_db> --eval "db.dropDatabase()"
0
jasenmichael

Dans votre commande Invite, connectez-vous d'abord à mongodb à l'aide de la commande suivante:

mongo -h [Host-name]:[port:number] -d [dbname] -u [username] -p [password]

vous accéderez à la base de données avec <dbname>.

Exécutez la commande suivante pour supprimer la base de données entière:

db.dropDatabase()
0
TechGuy