◈ Mongo DB 설치를 하였다면 사용을 해봐야겠죠.
1. mongo 명령을 입력하여 콘솔 모드로 진입합니다.
commend console 진입 시 상세 정보를 확인 할 수 있습니다.
[centos@ mongodata]$ mongo
MongoDB shell version: 2.6.12
connecting to: test
Server has startup warnings:
2019-12-26T19:32:41.019+0900 [initandlisten]
2019-12-26T19:32:41.019+0900 [initandlisten] ** WARNING: Readahead for /storage/mongodata is set to 4096KB
2019-12-26T19:32:41.019+0900 [initandlisten] ** We suggest setting it to 256KB (512 sectors) or less
2019-12-26T19:32:41.019+0900 [initandlisten] ** http://dochub.mongodb.org/core/readahead
>
2. 데이터 베이스 이동
commend console 진입 시 상세 정보를 확인 할 수 있습니다.
몽고 DB의 사용자계정은 admin 데이터베이스에서 명령을 통해서 설정 후 사용할 수 있습니다.
기본적으로 설정하지 않은 경우는 IP/PORT로 접근가능합니다.
추가로 데이터베이스를 추가한 경우는 아래의 명령을 사용하면 되겠습니다.
> use admin
switched to db admin
>
3. 사용자 계정생성
>db.createUser({
+ user: "계정이름",
+ pwd: "비밀번호".
+ roles:["dbAdminAnyDatabase"]
+})
4. 사용자 계정에 데이터베이스 권한 할당
>db.createUser({
+ user: "계정이름",
+ pwd: "비밀번호",
+ roles:[{role:"read", db:"test"}, {role:"clusterAdmin",db:"myDB"}]
// roles:[{role:[권한} // read write
// db:[데이터베이스명]} //
// role:"clusterAdmin",db:"myDB"}] 리플리케이션셋을 생성한경우 사용
+})
5. 계정 삭제하기
>use admin
>db.dropUser("계정이름")
6. 데이터 조회하기
※ 데이터 조회
- createTime : 조건절 SQL Like 절과 동일
db.shedLock.find({"컬럼명":"조회조건문자"})
.projection({}) // 표시순서
.sort({_id:-1}) // 정렬 : -1 내림차순, 1 오름차순
.limit(100) // 표시건수
6. 데이터 삭제하기
※ 데이터 삭제
- createTime : 조건절 SQL Like 절과 동일
db.[CollectionName].remove({ createTime: /^2019-11/ });
7. 인덱스 생성하기
인덱스 생성
db.getCollection(
"[컬렉션이름]").createIndex(
{
"[컬럼명]": [내림차순 -1, 오름차순 1],
"[컬럼명]": [내림차순 -1, 오름차순 1]
},
{
"background": true // 백그라운드 작업 여부
})
8. 개인적인 생각
★ NoSQL 이지만 SQL을 자체가 없는것은 아니기 때문에 만약 데이터 확인 용도로 SQL을 사용하기 위해서는 콘솔보다 Tool을 사용하는것이 훨씬 편리합니다. 여러가지가 있지만 사용해본 결과 개인적으로 NoSQLBooster for MongoDB
'DATABASE > Mongo DB' 카테고리의 다른 글
04.Mongo DB 모니터링 (0) | 2019.12.26 |
---|---|
05. Mongo DB 데이터 삭제 (0) | 2019.12.26 |
02. Mongo DB 서비스 등록 ( centos ) (0) | 2019.12.26 |
01. Cent OS Mongo DB 설치 (0) | 2019.12.26 |
00.No SQL 데이터베이스 (0) | 2019.11.21 |