Wie man Mongodump für 1 Sammlung verwendet

74

Wie kann ich mongodumpeine einzelne Sammlung von einer Datenbank in eine andere verschieben?

Wie soll ich den Befehl und seine Optionen verwenden?

user2325703
quelle

Antworten:

125

Ich denke es ist nur:

mongodump --db=<old_db_name> --collection=<collection_name> --out=data/

mongorestore --db=<new_db_name> --collection=<collection_name> data/<db_name>/<collection_name>.bson

Siehe auch Dokumente hier und hier .

Übrigens können Sie die Sammlung auch von einer Datenbank in eine andere verschieben renameCollection:

db.runCommand({renameCollection:"<old_db_name>.<collection_name>",to:"<new_db_name>.<collection_name>"})

Hier sind einige verwandte SO-Threads:

Hoffentlich hilft das.

Alecxe
quelle
Danke, es gibt mir folgenden Fehler: Fehler: fehlt; before-Anweisung (MongoSession # 1) für den ersten Befehl, den Sie gegeben haben.
user2325703
Dies ist der Befehl, den ich versuche: mongodump --db = DevDB --collection = Functions_List --out = data /
user2325703
6
Sie müssen den ersten Befehl über die Eingabeaufforderung des Betriebssystems ausführen, nicht über die Mongo-Shell.
Asya Kamsky
25

Datenbank (Dokument) Dump (Backup)

mongodump --host <hostname-of-mongoserver> --db <db-name> --username <dbuser-name> --password <password> --gzip --out </backup/location/>

Sammlungsspeicherauszug (Backup)

mongodump --host <hostname-of-mongoserver> --db <db-name> --collection <collection-name> --username <dbuser-name> --password <password> --gzip --out </backup/location/>

mongodump Dokumentation

Vaseem007
quelle
3
Für alle, die wiederherstellen müssen: mongorestore --gzip --db <db-name> <collection-name.bson.gz>
tuananh
6

Sehr grundlegende Befehle für Dump Mongodb.

  1. Alle Sammlung entsorgen

    mongodump
    
  2. Nur spezifische Datenbank sichern

    mongodump --db=DB_NAME
    
  3. Dump-Datenbank mit Benutzername und Passwort

    mongodump -u=USERNAME -p=PASSWORD --db=DB_NAME
    
  4. Dump von einem anderen Host

    mongodump --host HOST_NAME/HOST_IP --port HOST_PORT  --out {YOUR_DIRECTOTY_PATH} --db=DB_NAME
    

Kann nur von einem anderen Host ausgegeben werden, wenn dieser dies zulässt.

Anish Agarwal
quelle