반응형
MongoDB 현재 사용자 표시
현재 사용자에게 mongo shell에 로그인한 것을 어떻게 표시합니까?로그인하고 있는 유저를 변경할 수 있기 때문에, 이 조작은 편리합니다. db.auth("newuser", "password")
: 인터랙티브셸에 있는 동안.길을 잃기 쉽다.
갱신하다
승인된 답변을 기반으로 사용자, 연결 및 db를 포함하도록 프롬프트를 변경했습니다.
편집.mongorc.js
홈 디렉토리로 이동합니다.
function prompt() {
var username = "anon";
var user = db.runCommand({connectionStatus : 1}).authInfo.authenticatedUsers[0];
var host = db.getMongo().toString().split(" ")[2];
var current_db = db.getName();
if (!!user) {
username = user.user;
}
return username + "@" + host + ":" + current_db + "> ";
}
결과:
MongoDB shell version: 2.4.8
connecting to: test
anon@127.0.0.1:test> use admin
switched to db admin
anon@127.0.0.1:admin> db.auth("a_user", "a_password")
1
a_user@127.0.0.1:admin>
그connectionStatus
명령어는 인증된 사용자(다른 데이터 중 존재하는 경우)를 나타냅니다.
db.runCommand({connectionStatus : 1})
그 결과 다음과 같은 일이 발생합니다.
{
"authInfo" : {
"authenticatedUsers" : [
{
"user" : "aa",
"userSource" : "test"
}
]
},
"ok" : 1
}
따라서 셸에서 접속하는 경우 기본적으로 현재 사용자가
또한 사용자 이름을 프롬프트에 추가할 수도 있습니다.prompt
에서 기능하다..mongorc.js
파일, OS 사용자 홈디렉토리 아래에 있습니다.대략:
prompt = function() {
user = db.runCommand({connectionStatus : 1}).authInfo.authenticatedUsers[0]
if (user) {
return "user: " + user.user + ">"
}
return ">"
}
예:
$ mongo -u "cc" -p "dd"
MongoDB shell version: 2.4.8
connecting to: test
user: cc>db.auth("aa", "bb")
1
user: aa>
언급URL : https://stackoverflow.com/questions/21414608/mongodb-show-current-user
반응형
'bestsource' 카테고리의 다른 글
AngularJS UI-Router : 파라미터를 사용하여 상태의 절대 URL을 가져옵니다. (0) | 2023.03.25 |
---|---|
VS 코드는 강조된 항목을 포함하지만 오류가 없는 이유는 무엇입니까? (0) | 2023.03.20 |
여러 클래스를 추가하려면 연락처 양식 7 제출 단추 (0) | 2023.03.20 |
리액트 J:this.props.children의 PropType은 무엇입니까? (0) | 2023.03.20 |
JSON 오브젝트의 아이템이 "json.dumps"를 사용하여 고장났습니까? (0) | 2023.03.20 |