Quelle est la façon la plus simple de procéder depuis mon invite bash?
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
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.
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.
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 }
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()
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.
Autre moyen:
echo "db.dropDatabase()" | mongo <database name>
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()
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.
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.
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
Même s'il existe plusieurs méthodes, la meilleure façon (la plus efficace et la plus simple) consiste à utiliser db.dropDatabase()
Connectez-vous à votre ligne de commande mongoDB: Et tapez les commandes ci-dessous .utilisez "YOUR_DATABASE_NAME";db.dropDatabase ();
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()"
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()