Qual è il modo più semplice per farlo dal mio prompt di bash?Come posso eliminare un database MongoDB dalla riga di comando?
risposta
Ti piace questa:
mongo <dbname> --eval "db.dropDatabase()"
Maggiori informazioni sugli script del shell da linea di comando qui: https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#scripting
Questo è stato molto utile nel mio caso. In qualche modo avevo un database chiamato "mean-dev" da una vecchia installazione, e inserendo "mean-dev.dropDatabase()" nella shell mongo risultava "ReferenceError: mean non è definito". Ma usare la soluzione in questa risposta ha fatto il trucco. +1 –
Se si desidera ottenere un risultato leggibile dall'uomo, farlo in questo modo: '' 'mongo
K. P. MacGregor. avresti dovuto essere: "usa mean-dev" + "db.dropDatabase()" – ozma
Il modo migliore per farlo è dalla console MongoDB:
> use mydb;
> db.dropDatabase();
In alternativa, ci si può fermare mongod
e cancellare i file di dati dalla directory dei dati, quindi riavviare.
Suggerimento: è inoltre possibile spostare i file di dati in una sottocartella ed eliminarli se si è certi di non averne più bisogno.
Penso che voglia dire direttamente dal prompt, vero? In questo caso devi generare un file .js con quei comandi e richiamarlo dal prompt usando "mongo dropdb.js" o qualcosa o fai come dici tu e rimuovi i file manualmente. –
Non era il mio tipo signore;) –
ma sii consapevole che non puoi usare il comando 'use' nel file .js, devi connetterti al DB concreto (specifica dbname per il comando mongo) – Betlista
Si potrebbe anche usare un "heredoc":
mongo localhost/db <<EOF
db.dropDatabase()
EOF
Risultati in uscita Mi piace:
mongo localhost/db <<EOF
db.dropDatabase()
EOF
MongoDB shell version: 2.2.2
connecting to: localhost/db
{ "dropped" : "db", "ok" : 1 }
bye
Mi piace usare heredocs per cose come questa, nel caso tu voglia una sequenza di comandi più complessa.
Altro modo:
echo "db.dropDatabase()" | mongo <database name>
Questo funziona con Meteor Mongo DB –
Questo è un po 'più prolisso, ma penso che sia più sicuro:
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 }
Esegui in un terminale:
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.
La stessa risposta di [questo] (http://stackoverflow.com/questions/8857276/how- do-i-drop-a-mongodb-database-from-the-command-line/18997305 # 18997305), che è stato dato un mese prima. –
Ecco alcuni usano pieno cancella le operazioni per mongodb usando la shell mongo
Per eliminare particolare documento in collezioni: db.mycollection.remove({name:"stack"})
Per cancellare tutti i documenti in collezioni: db.mycollection.remove()
Per collezione di eliminazione: db.mycollection.drop()
a banca dati di eliminazione: primo go a quel database tramite il comando use mydb
e quindi
db.dropDatabase()
direttamente dal prompt dei comandi o blash: mongo mydb --eval "db.dropDatabase()
Non è necessario heredocs o eval, mongo
stessa può fare da interprete.
#!/usr/bin/env mongo
var db = new Mongo().getDB("someDatabase");
db.dropDatabase();
Rendere eseguibile il file ed eseguirlo.
Si noti che il nome dello script deve terminare con '.js', altrimenti verrà interpretato come l'indirizzo del database. – Vegard
@Vegard Questo non è corretto. Stai eseguendo 'mongo filename', che non è necessario: il file ha già un interprete nella riga superiore. Basta rendere il file eseguibile ed eseguirlo './Filename' – mikemaccana
@mikemaccana Lo so, ma facendo'./Filename' eseguirà effettivamente '/ usr/bin/env mongo filename', giusto? Quindi se 'filename' non finisce in' .py', mongo non riconoscerà l'argomento come uno script da eseguire. – Vegard
Inizio MongoDB
comando per DROP DATABASE è:
1. prima selezionare il database che si desidera eliminare
use < database name >
2. quindi utilizzare questo ..
db.dropDatabase()
In te Prompt dei comandi, prima connettersi a MongoDB usando seguente comando:
- mongo -h [host-name]: [porta: numero] -d [dbname] -u [nome utente] -p [password]
si accederà a db con.
Eseguire il seguente comando per eliminare l'intero database:
- db.dropDatabase()
Il comando dropDatabase scende il database corrente, eliminando i file di dati associati. Ci sono due modi per rilasciare un database in MongoDB. Innanzitutto, se si desidera eliminare un database tempo da MongoDB. Per eliminare un database, la prima cosa da fare è passare al database usando usando il comando e dare il comando drop come di seguito.
uso previsioni
db.runCommand ({dropDatabaase: 1})
secondo luogo, la mongo shell fornisce anche il metodo helper db.dropDatabase(). I passaggi sono gli stessi di sopra.
uso del tempo
db.dropDatabase()
Se volete saperne di più, si prega di dare un'occhiata http://docs.mongodb.org/manual/reference/command/dropDatabase/
utilizzando JavaScript, è possibile creare facilmente un drop_bad.js script per eliminare il database:
crea drop_bad.js:
use bad;
db.dropDatabase();
che correre 1 comando nel terminale exectue lo script utilizzando shell mongo:
mongo < drop_bad.js
Benche ci sono diversi metodi, il modo migliore (più efficienti e più semplice) sta usando db.dropDatabase()
Aprire un'altra finestra terminale ed eseguire i seguenti comandi,
mongodb
use mydb
db.dropDatabase()
uscita di tale operazione deve essere simile al seguente
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 }
>
prega di notare che mydb
è ancora in uso, quindi l'inserimento di qualsiasi ingresso in quel momento inizializzerà nuovamente il database.
- 1. Come posso creare un nuovo MongoDB dalla riga di comando con l'autenticazione attivata?
- 2. Come allegare un database SQL Server dalla riga di comando
- 3. Crea database dalla riga di comando
- 4. Come posso eliminare un database MongoDB usando PyMongo?
- 5. Come eliminare caratteri stampati dalla riga di comando in C++
- 6. Come posso eliminare un repository Git remoto dalla riga di comando (Git Bash)?
- 7. Accesso al database remoto dalla riga di comando
- 8. Input dalla riga di comando
- 9. Come posso eseguire il profiler dalla riga di comando?
- 10. Accesso al database SQLite dalla riga di comando
- 11. Come si rinomina un database MongoDB?
- 12. Rimuovi app iOS dalla riga di comando
- 13. Come chiudere Rserve dalla riga di comando
- 14. Eliminare tutti gli indici da tutte le raccolte in un database MongoDB utilizzando la riga di comando
- 15. Resharpening dalla riga di comando
- 16. Come compilare l'APK dalla riga di comando?
- 17. Come aggiornare xcode dalla riga di comando
- 18. Come usare jarjar dalla riga di comando?
- 19. Come posso emettere un singolo comando dalla riga di comando tramite sql plus?
- 20. Come eseguire TestNG dalla riga di comando
- 21. Come generare Javadoc dalla riga di comando
- 22. Come eseguire un .class Java dalla riga di comando
- 23. Ansible: Posso eseguire il ruolo dalla riga di comando?
- 24. Posso aggiungere problemi a github dalla riga di comando?
- 25. Come posso eliminare o creare un database da clojure.java.jdbc?
- 26. tomcat restart webapp dalla riga di comando
- 27. Maven: Come si attiva un profilo dalla riga di comando?
- 28. Come si crea un progetto IntelliJ dalla riga di comando?
- 29. Impossibile eseguire UIAutomationTest dalla riga di comando
- 30. Ambiente Pycharm diverso dalla riga di comando
vedere questa domanda: http://stackoverflow.com/questions/3366397/delete-everything-in-a-mongodb-database. È davvero facile farlo dalla shell mongo. –
Questo link può aiutarti http://www.codefari.com/2015/03/drop-database-in-mongodb.html – Singh