wake-up-neo.com

Einzelne Sammlung in einem vorhandenen Mongodb wiederherstellen

Ich scheitere kläglich daran, eine einzelne Sammlung in einer vorhandenen Datenbank wiederherstellen zu können ..__ Ich verwende Ubuntu 14.04 mit Mongo-Version 2.6.7 Es gibt einen dump/mydbname/contents.bson von zu Hause aus Verzeichnis.

Wenn ich renne

mongorestore --collection contents --db mydbname

Dann bekomme ich:

connected to: 127.0.0.1
don't know what to do with file [dump]

Wenn ich den Pfad hinzufüge

mongorestore --collection contents --db mydbname --dbpath dump/mydbname

Dann bekomme ich

If you are running a mongod on the same path you should connect to that instead of direct data file access

Ich habe verschiedene andere Kombinationen, Optionen usw. ausprobiert und kann es einfach nicht herausfinden, also komme ich in die Community, um Hilfe zu bekommen!

27
JonRed

Wenn Sie eine einzelne Sammlung wiederherstellen möchten, müssen Sie die Dump-Datei der Sammlung angeben. Die Dump-Datei der Sammlung befindet sich im Ordner 'dump/dbname /'. Angenommen, Ihr Dump-Ordner befindet sich in Ihrem aktuellen Arbeitsverzeichnis, der Befehl würde etwa wie folgt lauten:

mongorestore --db mydbname --collection mycollection dump/mydbname/mycollection.bson
65
Abhay PS

Ich denke das ist jetzt erledigt mit dem --nsInclude Möglichkeit:

mongorestore --nsInclude test.purchaseorders dump/

dump/ ist der Ordner mit Ihren Mongodump-Daten, test ist die Datenbank und purchaseorders ist die Sammlung.

https://docs.mongodb.com/manual/reference/program/mongorestore/

0
wordsforthewise

Schritte zum Wiederherstellen einer bestimmten Sammlung in der Mongodb.

1) Wechseln Sie in das Verzeichnis, in dem sich Ihr Speicherauszugsordner befindet.

2) Führen Sie den folgenden Befehl aus, indem Sie ihn entsprechend Ihrem Datenbanknamen und Ihrem Sammlungsnamen ändern.

mongorestore --db mydbname --collection mycollection dump/mydbname/mycollection.bson

Wenn Sie Failed: yourdbname.collection.name: error creating indexes for collection.name: createIndex error: The field 'safe' is not valid for an index specification error erhalten, können Sie den folgenden Befehl verwenden:

mongorestore --db mydbname --collection mycollection dump/mydbname/mycollection.bson --noIndexRestore
0

Wenn Sie mehrere Sammlungen wiederherstellen, können Sie eine Schleife verwenden:

for file in "$HOME/mongodump/dev/<your-db>/"* ; do

  if [[ "$file" != "*metadata*" && "$file" != "system.*" && "$file" != "locks.*" ]]; then

    file="$(basename "$file”)"

    mongorestore \
        --db cdt_dev \
        --collection "${file%.*}" \   # filename w/o extension
        --Host "<your-Host>" \
        --authenticationDatabase "<your-auth-db>" \
        -u "user" \
        -p "pwd" \
        "$HOME/mongodump/dev/<your-db>/$file"

  fi;

done
0
Alexander Mills