참조하세요 |
일반 SQL문을 mongoDB syntax로 바꾸어주는 홈페이지: http://www.querymongo.com/
1. DB의 기본단위 Collection |
관계형 데이터베이스처럼 스키마를 정하고 생성하지 않는다.
1) Capped Collection
- 최초 저장된 사이즈로 생성
- 저장공간이 모두 사용되면 다시 돌아가서 기존 공간을 재사용한다.(Queue의 형태-FIFO)
2) No Capped
- 길이의 제한이 없는 Collection
(기본 CRUD) INSERT |
사용법: db.collection명.insert명령문()
1. 기본 삽입
db.member.insert({id:"jang",pass:"1234"})
2. 변수를 통한 삽입
mydata = {id:"lee",pass:"1234"}
db.member.insert(mydata)
3. for문을 통한 삽입
for(var i=1100;i<=1120;i++){
db.member.insert({id:i,msg:"test"})
}
(기본 CRUD) UPDATE |
사용법: db.collection명.update({조건필드:값},{수정할 필드:값},{업데이트옵션:값})
[제한자] - 수정할 필드에 정의
$set : 해당 필드의 값을 변경
$unset : 해당 필드를 삭제할 때 사용
$inc : 해당 필드의 값을 증가
[업데이트옵션]
multi : true 값을 정의할 수 있으며 조건에 만족하는 모든 document의 값을 변경하라는 의미
upsert : true 값을 정의하면 컬럼이 존재하지 않는 경우 컬럼을 추가하라는 의미
+ capped collection 규칙에 위반되는 경우, 경고가 뜨게 된다.
1. 아키텍쳐를 바꾸는 update
db.member.update(id:"jang",pass:"jang") : syntax 오류
db.member.update({id:"jang"},{pass:"jang"})
(기본 CRUD) 배열의 활용 |
사용법 : [] 내부에 선언하며, insert / update 등에 활용 가능하다
예시 : db.score.update({id:"kim"},{$set:{lang:{ms:["C#",".NET"],java:["jdbc","servlet"]}}})
[제한자]
$push : 배열에 요소를 추가하기
$addToSet : 기존 배열에 해당 값이 없는 경우에만 해당 필드와 값을 추가(중복을 막기 위해 사용된다)
$pop : 배열의 첫 번째나 마지막 요소를 제거한다. (1,-1)
$pull : 조건에 맞는 요소를 가져와서 해당 요소를 제거한다.
$pullAll : 배열에서 요소의 값을 제거
$each : 반복된 값을 저장할 때 사용하기(여러 개를 저장)
(기본 CRUD) SELECT |
find(rdbms의 select와 동일)
[구문]
find(조건, 조회할필드정보)
* 조건, 조회할 필드벙보 모두 {}로 표현
* 조회할 필드정보 : 필드 정보를 {}로 표현
형식 {필드명:1,2,...} 조회하고 싶은 필드를 필드명:1 로 표시
(필드명:0 으로 표시하면 0으로 표시된 필드가 조회되지 않는다)
* find()는 find({})와 동일 : {} 안에 아무것도 명시되어 있지 않으면 전체 데이터를 조회하라는 의미
findOne() - 결과가 하나만 리턴될 때
count() - 행의 갯수를 리턴
[조건]
$lt : <
$gt : >
$lte : <=
$gte : >=
$or : 여러 컬럼을 비교할 때 사용
$in : 하나의 컬럼에서 여러가지 값을 가지고 비교할 때
$nin : 지정된 값만 제외할 때
'DB > MongoDB' 카테고리의 다른 글
MongoDB의 클라이언트/서버 기초 (0) | 2015.10.13 |
---|---|
MongoDB 설치 및 실행 (0) | 2015.10.13 |