Capistrano 작업에서 MongoDB 데이터베이스를 만들고 싶다면 MongoDB가 auth를 켠 채로 실행될 때 MongoDB 셸을 통해 새 데이터베이스를 만드는 방법을 알아야합니다.auth가 켜져있는 상태에서 명령 줄에서 새로운 MongoDB를 만드는 방법은 무엇입니까?
auth를 켜면 MongoDB 쉘은 먼저 인증하지 않고는 아무 것도 할 수 없지만 admin 데이터베이스를 사용하는 동안 인증을해야합니다. 나는 데이터베이스를 작성해야 그 시점에서 ...
sudo -u mongodb mongo admin --eval "db.auth(username, password)"
그리고 그 추가 조치 저를 인증하지만, 같은 쉘 세션에 대한 사용자 : 그래서 내가 좋아하는 우선 그것을 연결했습니다 . 그러나 나는 할 수 없습니다 :
sudo -u mongodb mongo admin --eval "db.auth(username, password);use new_database"
use database
은 eval에서 사용할 수 없기 때문에 사용할 수 없습니다. 그래서 내가 대신 시도했다 :
sudo -u mongodb mongo admin --eval "db.auth(username, password);db = connect('localhost:27017/new_database')"
그리고 그 사실은 나에게 내가 만든 싶지만 내가하려고하면 새 데이터베이스의 인스턴스를 얻을 것이다 :
sudo -u mongodb mongo admin --eval "db.auth(username, password);connect('localhost:27017/new_database').addUser(new_user, new_password)"
내가 인증 오류를, 그래서 분명히 connect()
명령을 사용하면 이전에 인증 한 것을 잊어 버릴 수 있습니다.
그래서 여기에 정체가 있습니다. 인증 및 관리자를 사용하여 MongoDB를 사용하여 한 줄에 데이터베이스를 만들려고합니다.
어떻게 할 수 있습니까?
완벽한 작품, 감사합니다! – rjoll
http://docs.mongodb.org/manual/reference/method/db.getSiblingDB/ – kschaper
@kschaper : 감사합니다. 이전 wiki 링크의 문서 링크를 수정했습니다. – Stennie