Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can mongorestore take a single url argument instead of separate arguments?

If I have a mongo database URL of the following format

mongodb://someUsername:[email protected]:27017/some_collection

Is there an easy way to give this to mongorestore without having to do

mongorestore -u someUsername -p somePassword -h some.server.com:27017 -db some_collection /path/to/dump

The reason I ask is because meteor mongo --url gives back a url of that form (and it looks like a standardized url format) but it expires in one minute. Because the password and host can be pretty long, it's hit or miss whether I can copy the parameters over (correctly) in one minute, and usually requires several tries.

Does something like the following exist?

mongorestore --url blah_blah /path/to/dump

See also https://stackoverflow.com/a/15865565/586086

like image 966
Andrew Mao Avatar asked Sep 18 '13 22:09

Andrew Mao


2 Answers

I didn't find a way to pass the URL as a parameter but I wrote a one line command that converts the url into mongorestore parameters:

CMD=`meteor mongo -U autocomplete.meteor.com | tail -1 | sed 's_mongodb://\([a-z0-9\-]*\):\([a-f0-9\-]*\)@\(.*\)/\(.*\)_mongorestore -u \1 -p \2 -h \3 -d \4_'`
$CMD /path/to/dump
like image 164
acemtp Avatar answered Oct 11 '22 01:10

acemtp


Update since five years ago:

Beginning with version 3.4.6, mongorestore accepts a URI argument:

https://docs.mongodb.com/manual/reference/program/mongorestore/#options

like image 23
Andrew Mao Avatar answered Oct 11 '22 00:10

Andrew Mao