Restauration d'une collection unique dans un mongodb existant
j'échoue lamentablement à restaurer une collection unique dans une base de données existante. Je lance Ubuntu 14.04 avec mongo version 2.6.7 Il y a un dump/mydbname/contents.bson est basé sur mon répertoire personnel.
si je cours
mongorestore --collection contents --db mydbname
Puis-je obtenir:
connected to: 127.0.0.1
don't know what to do with file [dump]
Si j'ajoute dans le chemin d'accès
mongorestore --collection contents --db mydbname --dbpath dump/mydbname
Puis-je obtenir
If you are running a mongod on the same path you should connect to that instead of direct data file access
j'ai essayé diverses autres combinaisons, options,etc. et juste ne pouvez pas puzzle, si je veux en venir l'aide de la communauté!
2 réponses
si vous voulez restaurer une seule collection, alors vous devez spécifier le fichier dump de la collection. Le fichier dump de la collection se trouve dans le dossier' dump/dbname/'. Donc, en supposant que votre dossier dump est dans votre répertoire de travail actuel, la commande irait quelque chose comme -
mongorestore --db mydbname --collection mycollection dump/mydbname/mycollection.bson
si vous restaurez plusieurs collections, vous pouvez utiliser une boucle:
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