532 Stimmen

Alles in einer MongoDB-Datenbank löschen

Ich entwickle mit MongoDB. Aus ganz und gar nicht bösen Gründen möchte ich manchmal alles in einer Datenbank löschen, d. h. jede einzelne Auflistung und alles, was sonst noch so herumliegt, und von vorne anfangen. Gibt es eine einzige Codezeile, mit der ich das tun kann? Bonuspunkte für die Angabe sowohl einer MongoDB-Konsolenmethode als auch einer MongoDB-Ruby-Treibermethode.

7voto

Sreeragh A R Punkte 2541

Ich bevorzuge

db.your_collection.remove({})

über

db.your_collection.drop()

Wenn Ihre Sammlung eine Sondersammlung war d.h. eine gedeckelte Sammlung oder eine Sammlung, bei der ein Feld als eindeutig markiert ist, wird die Sammlung selbst gelöscht, und wenn die Sammlung erneut erstellt wird, ist sie eine normale Sammlung. Sie müssen dann die Eigenschaften erneut definieren. Verwenden Sie also remove() um die Dokumente zu löschen, ohne die Sammlung zu entfernen und das Verhalten der Sammlung zu beeinträchtigen.

1 Stimmen

Gute Punkte. Es ist jedoch erwähnenswert, dass drop() ist nahezu augenblicklich und remove({}) sperrt Ihre Datenbank für Minuten oder Dutzende von Minuten (je nach Größe der Sammlung).

4voto

Shalabh Raizada Punkte 334

Der einfachste Weg, eine Datenbank zu löschen, z. B. einen Blog:

> use blog
switched to db blog
> db.dropDatabase();
{ "dropped" : "blog", "ok" : 1 }

2voto

Felipe Alarcon Punkte 928

Für Meteor-Entwickler.

  1. Öffnen Sie ein zweites Terminalfenster, während Sie Ihre Anwendung in localhost:3000 .

  2. Führen Sie im Ordner Ihres Projekts aus, meteor mongo .

    coolName = new Mongo.Collection('yourCollectionName');

  3. Dann geben Sie einfach ein db.yourCollectionName.drop();

  4. Die Änderungen werden automatisch auf Ihrem lokalen Server angezeigt.

Für alle anderen.

db.yourCollectionName.drop();

2voto

Zaur Punkte 383

Um alle DBs zu löschen, verwenden Sie:

for i in $(mongo --quiet --host $HOSTNAME --eval "db.getMongo().getDBNames()" | tr "," " ");

do mongo $i --host $HOSTNAME --eval "db.dropDatabase()";

done

2voto

priya raj Punkte 332
  1. Alle verfügbaren Datenbanken auflisten dbs anzeigen
  2. Wählen Sie die erforderliche db verwenden.
  3. Löschen Sie die Datenbank db.dropDatabase() //Wenige zusätzliche Befehle
  4. Alle in einer Datenbank verfügbaren Sammlungen auflisten Sammlungen anzeigen
  5. Entfernen einer Spezifikationssammlung db.collection.drop()

Ich hoffe, das hilft

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X