78

I want to load data/restore dump data in mongoDB using mongorestore. I am trying to command

mongorestore dump

but it giving me error

Sat Sep 21 16:12:33.403 JavaScript execution failed: SyntaxError: Unexpected identifier

How can we restore or put data into mongoDB?? Please give me the steps.

lospejos
  • 1,976
  • 3
  • 19
  • 35
Sandeep Singh
  • 7,790
  • 4
  • 43
  • 68
  • God knows why exactly you are getting this error. But make sure you are having `mongod` running in background. Though it has nothing to with this error. By the way did you manually changed the dump files? – Sushant Gupta Sep 21 '13 at 10:55
  • No I downloaded the assignment dump file. and extracted it.If you have done earlier can you please give me steps. – Sandeep Singh Sep 21 '13 at 10:59
  • Are you doing that mongodb 101 course? I also did that, it worked for me. I hope you have the binaries of `mongorestore` of a stable mongodb release. – Sushant Gupta Sep 21 '13 at 11:03
  • yes, I am doing the same. might me I am going it in wrong way. could you please give me way, where to put dump.bson. my db path is dbpath=C:\mongodb\data\db\ – Sandeep Singh Sep 21 '13 at 11:08
  • Actually I use Mac OS X. Really don't know much about Windows. Try following the instructions they give for windows. Or better discuss at their course forum. Many might have faced similar problem. Tension not, ho jayega :) – Sushant Gupta Sep 21 '13 at 11:16
  • Same query exactly what the sh*t i needed . Thanks for asking the query it helps !! – Prasad Aug 07 '17 at 09:09
  • @SandeepSingh Suggestion - Its always good to accept an answer. People looking for a solution to the same problem can just see that right up as the first answer. – Naman Apr 04 '20 at 06:10
  • @Naman - Yes you are correct, certainly I missed to accept the right answer as there was not any answer when I posted it. Now it will very unfair for others, if I am going to accept any answer from this. :) – Sandeep Singh Apr 07 '20 at 12:21
  • @SandeepSingh you can always choose what is the most reasonably explained and useful answer according to you. (despite the votes) ..breaking a tie could also happen using the time when the answer was posted. <= *opinions* – Naman Apr 07 '20 at 12:25

14 Answers14

113

mongodump: To dump all the records:

mongodump --db databasename

To limit the amount of data included in the database dump, you can specify --db and --collection as options to mongodump. For example:

mongodump --collection myCollection --db test

This operation creates a dump of the collection named myCollection from the database 'test' in a dump/ subdirectory of the current working directory. NOTE: mongodump overwrites output files if they exist in the backup data folder.


mongorestore: To restore all data to the original database:

1) mongorestore --verbose \path\dump

or restore to a new database:

2) mongorestore --db databasename --verbose \path\dump\<dumpfolder>

Note: Both requires mongod instances.

jox
  • 2,218
  • 22
  • 32
Arman Ortega
  • 3,003
  • 1
  • 30
  • 28
54

Dump DB by mongodump

mongodump --host <database-host> -d <database-name> --port <database-port> --out directory

Restore DB by mongorestore

With Index Restore

mongorestore --host <database-host> -d <database-name> --port <database-port> foldername

Without Index Restore

mongorestore --noIndexRestore --host <database-host> -d <database-name> --port <database-port> foldername

Import Single Collection from CSV [1st row will be used as Col/Key Name]

mongoimport --db <database-name> --port <database-port> --collection <collection-name> --type csv --headerline --file /path/to/myfile.csv

Import Single Collection from JSON

mongoimport --db <database-name> --port <database-port> --collection <collection-name> --file input.json
Chris Johnson
  • 20,650
  • 6
  • 81
  • 80
Soham Krishna Paul
  • 1,143
  • 10
  • 10
28

To restore a single database:

  1. Backup the testdb database

    $ mongodump --db testdb
    
  2. Restore the testdb database to a new database called testdb2

    $ mongorestore --db testdb2 dump/testdb
    

To restore all databases:

  1. Backup all databases

    $ mongodump
    
  2. Restore all databases

    $ mongorestore dump
    
Deepak
  • 3,134
  • 2
  • 24
  • 24
14

The directory should be named 'dump' and this directory should have a directory which contains the .bson and .json files. This directory should be named as your db name.

eg: if your db name is institution then the second directory name should be institution.

After this step, go the directory enclosing the dump folder in the terminal, and run the command

mongorestore --drop.

Do see to it that mongo is up and running.

This should work fine.

Nazneen
  • 266
  • 3
  • 16
  • You should be sure before you use --drop in your command cause it will drop the existing collection in the DB and recreate a new collection with the data from the dump file, technically you will loose all the current data(which is not in dump file) from DB in mongo instance..!!! – whoami - fakeFaceTrueSoul Jun 25 '19 at 05:39
9

Follow this path.

C:\Program Files\MongoDB\Server\4.2\bin

Run the cmd in bin folder and paste the below command

mongorestore --db <name-your-database-want-to-restore-as> <path-of-dumped-database>

For Example:

mongorestore --db testDb D:\Documents\Dump\myDb
aman raj
  • 193
  • 2
  • 5
5

You can take a dump to your local machine using this command:

mongodump -h <host>:<port> -u <username> -p <password> -d ubertower-new -o /path/to/destination/directory

You can restore from the local machine to your Mongo DB using this command

mongorestore -h <host>:<port> -u <username> -p <password> -d <DBNAME> /path/to/destination/directory/<DBNAME>
Tjs
  • 843
  • 10
  • 17
4
  1. Start mongod
  2. Navigate to folder where you have extracted "enron.zip" in OS shell(cmd in case of windows)
  3. Then type ">mongorestore -d your_db_name dump/enron"
3

For mongoDB database restore use this command here

mongorestore --db databasename --drop dump file path
Ralf Stubner
  • 26,263
  • 3
  • 40
  • 75
  • 1
    You should be sure before you use --drop in your command cause it will drop the existing collection in the DB and recreate a new collection with the data from the dump file, technically you will loose all the current data(which is not in dump file) from DB in mongo instance..!!! – whoami - fakeFaceTrueSoul Jun 25 '19 at 05:37
1

You can also restore your downloaded Atlas Backup .wt WiredTiger files (which unzips or untar as a restore folder) to your local MongoDB.

First, make a backup of your /data/db path. Call it /data_20200407/db. Second, copy paste all the .wt files from your Atlas Backup restore folder into your local /data/db path. Restart your Ubuntu or MongoDB server. Start your Mongo shell and you should have those restored files there.

Yi Xiang Chong
  • 744
  • 11
  • 9
1

If you are okay to drop the existing collections then then following command works fine for me.

  • Okay to drop the existing collections
$ uri_complete="your_complete_uri"
$ restoreFileName="your_restore_filename"
$ mongorestore --uri=$uri_complete -v --gzip --archive=$restoreFileName --drop
  • Not okay to drop existing collections
$ uri_complete="your_complete_uri"
$ restoreFileName="your_restore_filename"
$ mongorestore --uri=$uri_complete -v --gzip --archive=$restoreFileName

If your database is running on localhost on default port without authentication then the following will work.

$ mongorestore -v --gzip --archive=restorefile.gzip --drop

More details - mongorestore

codeaprendiz
  • 2,703
  • 1
  • 25
  • 49
0

I have been through a lot of trouble so I came up with my own solution, I created this script, just set the path inside script and db name and run it, it will do the trick

#!/bin/bash

FILES= #absolute or relative path to dump directory
DB=`db` #db name
for file in $FILES
do

    name=$(basename $file)
    collection="${name%.*}"
    echo `mongoimport --db "$DB" --file "$name" --collection "$collection"`

done
0

mongodump --host test.mongodb.net --port 27017 --db --username --password --authenticationDatabase admin --ssl --out

mongorestore --db --verbose

0

Process of Backup MongoDb Collections.

  1. Find the MongoDb folder in ProgramFiles or ProgramFiles32.
  2. Navigate to bin Folder.Find the path like this.C:\Program Files\MongoDB\Server\4.2\bin
  3. Make you have to Install Mongo Dump Tools. enter image description here
  4. If you are not find any such tools , kindly go through this link and install it. MongDb Database Tools
  5. inside bin Folder open CMD or navigate to MongdDb Server Bin folder.
  6. Run this Command mongodump --db yourdatabasename. after running this command Dump creation process will start and it will create and one Dump folder in side bin.

Restore Process

  1. open the CMD prompt in Mongdb Server bin Folder.

  2. after that Run this Command **mongorestore --db mydababse --verbose

  3. D:\MongoDbBackup\mydababse\Dec28-21**(this this path where I have store my backup collection).

  4. some time mongDb Restore program required folder permission to restore.

Hari Lakkakula
  • 199
  • 1
  • 4
-1

For mongoDB database restore use this command here . First go to your mongodb database location such as For Example : cd Downloads/blank_db/v34000 After that Enter mongorestore -d v34000 ./