인덱스
6. MongoDB 쉘을 이용하여 데이터 저장하고 조회하기
6. MongoDB 쉘을 이용하여 데이터 저장하고 조회하기
1. MongoDB 실행
> mongod - dbpath 경로 // 서버 실행
> mongo // MongoDB Shell 실행
> use admin
> db.shutdownServer() // Server 종료
* MongoDB 조회
> show dbs; // database 조회
> use test // test DB를 만들고 사용한다.
> show collections // 현재 db의 collection list를 출력한다.
: RDBMS는 스키마에 따란 데이터만 저장할 수 있었다면, MongoDB는 다 저장할 수 있다.
* Javascript 명령
> var a = {age:25} // 이런식으로 넣어줄 수 있다.
: javascript의 명령과 동일한 형태를 가진다
2. MongoDB 데이터 저장
> db.scores.save({a:99}); // 데이터 저장
> db.scores.find(); // 해당 테이블을 출력
3. MongoDB 데이터 조회
> db.scores.find({a:2}); // 모든 입력매개체는 JSON형태를 따라야 한다.
: a가 2인 도큐먼트만 찾는다라는 뜻.
> db.score.find({a:{'$gt':15}}); // a가 15보다 큰 도큐먼트만 찾는다.
> db.scores.find({a:{'$gte':2, '$lte':4}}) // 2보다 같거나 크고 4보다 작거나 같은 것들을 출력한다. (AND)
> db.scores.find({a:'{$in':[2,3,4]}}) // $in 뒤에는 무조건 배열이다. 2,3,4 에 속하는 결과를 출력한다.
> db.scores.find{$or:[{'a':{$lt:1}, {'a':{'$gt':9}}]} // OR 연산
> db.score.find([컬럼:{'$exists':true}]) // 해당 컬럼이 존재하는 도큐먼트만 출력
> db.score.find({조건},{a:1,exam:1,_id:0}) // 조건에 해당하는 a, exam 컬럼만 출력
- 비교연산자
: $gt : '>', $lt : '<', $gte : '>=', $lte : '<=', $ne : '!='
: $in : is in array, $nin : ! in array
7. MongoDB 쉘을 이용하여 저장된 데이터를 수정하거나 삭제하기
1. 데이터 수정 UPDATE
* 전체 수정
> db.user.update({name:'Johnny'},{name:'Cash',languages:['english']}) // 해당 데이터의 도큐먼트가 _id를 제외하고 모두 바뀐다.
* 일부 수정
> db.user.update({name:'Cash'},{$set:{age:50}}); // 해당 도큐먼트에 age가 있으면 50로 변경하고 없으면 age를 50으로 추가한다.
* 일부 삭제
> db.user.update({name:'Cash'},{$unset:{age:50}}) // age를 삭제한다. 뒤의 값은 상관이 없는것같다.
* 배열 값 삭제
> db.use.update({name:'Sue'},{$pull:{languages:'scala'}}); // 해당 도큐먼트의 배열에서 해당 값만 사라진다.
* 배열 값 추가
> db.use.update({name:'Sue'},{$push:{languages:'scala'}}); // 해당 도큐먼트의 배열에 해당 값이 추가된다.
2. MongoDB 삭제
* Document 삭제
> db.users.remove({name:'Sue'}) // 해당 도큐먼트를 삭제한다.
> db.users.remove({}) // 도큐먼트만 전체 삭제한다.
* Collection 삭제
> db.users.drop()
'프로그래밍 > NoSQL - MongoDB' 카테고리의 다른 글
mongoDB 리플리카 셋으로 장애 대응방법 배우기 (0) | 2017.04.04 |
---|---|
MongoDB를 이용한 복제 방법 살펴보기 (0) | 2017.04.04 |
MongoDB 샤딩 (1) | 2017.04.03 |
MongoDB Index기능 (0) | 2017.04.03 |
NoSQL 개요 & MongoDB 개요 (0) | 2017.04.03 |