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!
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
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/
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
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