问题
If I have a mongo database URL of the following format
mongodb://someUsername:somePassword@some.server.com: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
回答1:
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
回答2:
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
来源:https://stackoverflow.com/questions/18883103/can-mongorestore-take-a-single-url-argument-instead-of-separate-arguments