2014-03-13 2 views
3

쉘 스크립트를 사용하여 원격 MongoDB 인스턴스에 연결하려하지만 연결할 수 없습니다.bash 쉘 스크립트에서 mongoDB에 연결

#!/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 

이 내 로컬 몽고 인스턴스에 연결을 시도하고 나에게이 오류 제공 :

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

이스케이프 시퀀스 문제 일 수 있습니까? 'mongo --eval "시도해 주시겠습니까? db = connect ('sm-repository2.db.qa.test.com:27017/testdb')"'? –

+0

지적 해 주셔서 고맙습니다. 하지만 그건 도움이되지 않습니다. –

+0

2 개의 다른 몽고 껍질을 열어서 그런가 봐도 될까요? 하나의 몽고 셸 명령에서 모든 자바 스크립트 코드를 전달해 볼 수 있습니까? 그렇지 않은 경우 로그 문을 추가하여 정확히 어떤 행이 실패했는지 확인할 수 있습니까? –

답변

8

당신이 원하는 것은을 :

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

이상 스크립트

전체 옵션보기 documentation.

관련 문제