MongoDB 드라이버에서 보안 연결하는 방법 (MongoDB 3.0 이상)


Connection String (URI)

"mongodb://{사용자ID}:{암호}@{MongoDB주소}/{DB이름}?authMechanism=SCRAM-SHA-1"


참고> https://docs.mongodb.org/manual/reference/connection-string/#authentication-options



URI 사용 시 사용자ID 또는 암호 문자열에 특수문자(영문자와 숫자를 제외한 문자)가 포함된 경우 URL Encoding 방식으로 사용할 수 있음.

사용예>

abc@123 ===> abc%40123

xyz&123$abc ===> xyz%26123%24abc


참고> http://www.w3schools.com/tags/ref_urlencode.asp



Posted by jungtae17
,

MongoDB 처음 설치 후 관리자를 등록하는 방법(보안 설정)


1. MongoDB 서버 실행

접근 제어 없이 실행

mongod.exe --port 27017 --dbpath "DB 경로"


2. MongoDB 클라이언트 실행

: 로그인 없이 MongoDB 서버 접속

mongo.exe --port 27017


3. 관리자 등록

use admin;


db.createUser({

    user: "관리자 ID",

    pwd: "관리자 암호",

    roles: [ { role: "root", db: "admin" } ]

});


4. MongoDB 서버 재실행

: 접근 제어 설정 (--auth 옵션)

mongod.exe --auth --port 27017 --dbpath "DB 경로"


5. MongoDB 클라이언트 실행

: 등록한 관리자 정보로 연결

mongo.exe --port 27017 -u "관리자ID" -p "관리자암호" "admin"


6. 작업용 사용자 추가



참고1> https://docs.mongodb.org/manual/tutorial/enable-authentication/#add-users-before-enabling-access-control


참고2> https://docs.mongodb.org/manual/tutorial/enable-authentication/#add-users-after-enabling-access-control



Posted by jungtae17
,

aggregation 처리 중 이전 stage 에서 나온 결과(배열A, 배열B)에서 배열A와 배열B를 합쳐서 새로운 배열을 만들어야 할 때 $concatArrays (aggregation) 오퍼레이터를 사용.


참고> https://docs.mongodb.org/manual/reference/operator/aggregation/concatArrays/


Posted by jungtae17
,