Connecting to mongoDB from bash shell script

2020-03-19 02:47发布

问题:

I am trying to connect to a remote MongoDB instance using a shell script, but I am not able to connect.

  #!/bin/sh

mongo --eval "db = connect('sm-repository2.db.qa.test.com:27017/testdb')"

mongo --eval "db.stats()"  # do a simple harmless command of some sort

RESULT=$?   # returns 0 if mongo eval succeeds

if [ $RESULT -ne 0 ]; then
    echo "mongodb not running"
    exit 1
else
    echo "mongodb running!"
fi

This tries to connect to my local mongo instance and gives me this error :

Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84`

回答1:

What you want is:

 mongo sm-repository2.db.qa.test.com:27017/testdb --eval "db.stats()"

Or for longer scripts:

 mongo sm-repository2.db.qa.test.com:27017/testdb script.js

See the full options in the documentation.