I've exported the database on the server using mongodump
command and dump is stored in .bson
file. I need to import that in my local server using mongorestore
command. However it's not working. What is the correct mongorestore
command and what are the other tools to restore db
?
问题:
回答1:
It's very simple to import a .bson file:
mongorestore -d db_name -c collection_name /path/file.bson
Incase only for a single collection.Try this:
mongorestore --drop -d db_name -c collection_name /path/file.bson
For restoring the complete folder exported by mongodump
:
mongorestore -d db_name /path/
回答2:
mongorestore
is the tool to use to import bson files that were dumped by mongodump
.
From the docs:
mongorestore takes the output from mongodump and restores it.
Example:
# On the server run dump, it will create 2 files per collection
# in ./dump directory:
# ./dump/my-collection.bson
# ./dump/my-collection.metadata.json
mongodump -h 127.0.0.1 -d my-db -c my-collection
# Locally, copy this structure and run restore.
# All collections from ./dump directory are picked up.
scp user@server:~/dump/**/* ./
mongorestore -h 127.0.0.1 -d my-db
回答3:
bsondump collection.bson > collection.json
and then
mongoimport -d <dbname> -c <collection> < collection.json
回答4:
Run the following from command line and you should be in the Mongo bin directory.
mongorestore -d db_name -c collection_name path/file.bson
回答5:
You have to run this mongorestore command via cmd and not on Mongo Shell... Have a look at below command on...
Run this command on cmd (not on Mongo shell)
>path\to\mongorestore.exe -d dbname -c collection_name path\to\same\collection.bson
Here path\to\mongorestore.exe
is path of mongorestore.exe
inside bin folder of mongodb. dbname is name of databse. collection_name
is name of collection.bson. path\to\same\collection.bson
is the path up to that collection.
Now from mongo shell you can verify that database is created or not (If it does not exist, database with same name will be created with collection).
回答6:
I have used this:
mongorestore -d databasename -c file.bson fullpath/file.bson
1.copy the file path and file name from properties (try to put all bson files in different folder), 2.use this again and again with changing file name only.
回答7:
If your access remotely you can do it
for bson:
mongorestore --host m2.mongodb.net --port 27016 --ssl --username $user --password $password --authenticationDatabase $authdb -d test -c people "/home/${USER}/people.bson"
for bson compressed in .gz (gzip) format:
mongorestore --host m2.mongodb.net --port 27016 --ssl --username $user --password $password --authenticationDatabase $authdb -d test -c people --gzip --dir "/home/${USER}/people.bson.gz"