Comment utiliser les données stockées par mongodump?

j'ai utilisé mongodump pour vider ma base de données de mongodb, il a créé quelques fichiers bson sous dump/mydb

Mais je ne sais pas comment les utiliser. J'ai essayé mongoimport , mais il semble qu'il ne peut pas importer des données bson. Ensuite comment utiliser ces bfils fichiers? Comment les importer dans un autre mongodb?

65
demandé sur Andrew Orsich 2011-03-31 09:04:53

5 réponses

, Vous devez utiliser mongorestore , pas mongoimport ... qui est utilisé pour des choses comme l'importation json, ou csv, etc.

De la back-up-with-mongodump docs:

mongodump lit les données d'une base de données MongoDB et crée des fichiers BSON de haute fidélité que l'outil mongorestore peut utiliser pour peupler une base de données MongoDB.

mongodump et mongorestore sont des outils simples et efficaces pour la sauvegarde de up et la restauration de petits déploiements MongoDB, mais ne sont pas idéales pour capture de sauvegardes de systèmes plus grands.

vous pouvez en savoir plus sur mongorestore dans les docs ci-dessous; je vais jeter un oeil et lire sur eux car ils sont très utiles.

http://www.mongodb.org/display/DOCS/Import+Export+Tools#ImportExportTools-mongorestore "1519230920

vous pouvez également consulter http://learnmongo.com pour des conseils et de l'aide!

65
répondu Justin Jenkins 2018-01-26 21:44:58

j'utilise mongodup , mongorestore pour les sauvegardes quotidiennes et la restauration de sauvegarde. J'ai deux fichiers .bat :

Tout d'abord, pour la sauvegarde, où vous avez juste besoin de spécifier le nom de la base de données hôte et dossier de sauvegarde:

SET host=localhost:27020
SET dbNameToDump=MyDB
SET backupsFolder=Backups

mongodump.exe --host %host% --db %dbNameToDump%

SET date="%date:~10,4%-%date:~4,2%-%date:~7,2%.%time:~0,2%-%time:~3,2%"
cd %backupsFolder%
md %date%

xcopy /e ..\dump %date%

rmdir /s /q ..\dump

au-dessus du fichier bat créez un dossier avec un nom comme celui-ci 2011-03-31.11-17(yyyy-MM-dd.hh-ss) dans des sauvegardes de dossiers avec des collections sous-évaluées à partir de la base de données spécifiée. Dans l'explorateur de fichiers, il ressemble à ceci:

enter image description here

Second fichier bat que j'utilise pour retore des fichiers dumped spécifiés(ici, vous devez également spécifier le nom de la base de données et le dossier avec les fichiers dumped):

SET host=localhost:27020
SET dbNameToRestore=MyDB
SET restoreFolder=Restore

mongorestore.exe --host %host% --db %dbNameToRestore% %restoreFolder%

dans l'Explorateur de fichiers:

enter image description here

en plus, j'utilise Windows schedule pour automatiser le processus de sauvegarde.

l'Espoir informations ci-dessus seront utile pour quelqu'un.

37
répondu Andrew Orsich 2011-03-31 08:50:19

utilisez mongorestore. mongoimport travaille sur la production de mongoexport. mongodump & mongorestore travaillent sur des fichiers de données binaires tout en import / export sur json, csv, etc.. (formats lisibles par l'homme)

6
répondu will 2015-01-28 15:00:48

comme mentionné dans les réponses précédentes, vous devez utiliser mongorestore au lieu de mongoimport . En ajoutant aux réponses précédentes, lorsque votre mongodb est en cours d'exécution, exécutez la commande suivante pour restaurer votre dump à partir du répertoire dump,

mongorestore dump

ceci importera toutes les collections dans votre base de données mydb . Cependant, cela ne supprime pas la base de données avant la restauration. Si vous le souhaitez pour supprimer la base de données avant de les importer,

mongorestore --drop dump

les fichiers bson dans le répertoire mydb seront restaurés comme les collections à l'intérieur de mydb base de données. Pour plus d'informations sur mongorestore consultez la documentation ici .

6
répondu Divyanshu Maithani 2016-08-25 05:51:50

pour résoudre ce problème, j'ai copié le dossier dump, dbdump (qui contient des fichiers bson) dans le répertoire bin de mongodb et exécuté les commandes ci-dessous dans l'invite de commande:

1. cd "chemin vers le dossier bin de MongoDB "

(Exemple: cd C:\Program fichiers\MongoDB\Server\3.2\bin)

2. mongorestore.exe --dir ./nom du répertoire -- base de données db-nom

(Exemple: mongorestore -- dir ./ dbdump --db testdb)

tous les fichiers bson dans le dossier dump seront importés dans votre base de données. Vous pouvez verfiy ceci en exécutant les commandes suivantes:

cd "chemin vers le dossier bin de MongoDB "

mongo.exe

show dbs;

3
répondu Padmini Chilappagari 2016-04-20 19:42:58