(MongoDB) 데이터 처리

1. Collection 생성과 원리

1) Collection의 생성

MongDB에는 두가지 타입이 있다.
Capped Collecton 과 NonCapped Collectio 2가지가 있다.

NonCapped Collection 은 관계형 데이터베이스의 테이블처럼 디스크 공간이 허용하는 범위내에서 데이터를 계속적으로 저장할 수 있는 타입이다.

Capped Collection 은 최초 제한된 크기로 생성된 공간(익스텐트) 내에서 만 데이터를 저장할 수 있고 만약, 최초 공간이 모두 사용되면 다시 처음으로 돌아가서 기존공간을 재사용하는 타입이다.

기업에서 발생하는 데이터들 중에는 로그 데이터처럼 일정한 기간 내에서 만 저장, 관리할 필요가 있는 데이터들에게 효과적인 타입.





* MongoDB에서는 JSON타입으로 데이터를 표현한다.
>m={ ename : "smith"}

* 데이터를 저장할 때 SAVE메소드를 사용한다.
>db.things.save(m)

* Collection에 저장된 데이터를 검색할 때 FIND메소드를 실행
>db.things.find()

* 데이터를 입력할 때 Insert메소드를 사용한다.
>db.things.insert({ empno : 1102, ename : "king"})

* Fort 문을 반복해 증가된 값을 n필드에 적용해 데이터를 저장한다.
>for( var n = 1103; n<=1120; n++) db.things.save({n : n, m: "test"})

* Collection에서 조건을 만족하는 데이터를 검색 후 삭제
>db.things.remove({m:"test"})

* Save와 Update의 차이
->Document단위로 변경하는 경우는 save가 효율적, Field단위로 변경할 경우 Update가 효율적이다.

-> save 는 기존의 데이터를 덮어쓰는 방식이라 기존의 데이터가 사라진다.
필드가 6개 존재하고  save()메소드를 사용하여 2개의 필드를 저장한다면 6개 필드는 모두 사라지고 새로 저장하는 2개의 필드만 저장된다.
그래서 document단위로 데이터를 변경한다는 것이다.

* 삽입식 insert() 와 save()
insert : _id가 동일한 값을 저장하려 한다면 오류 발생
save : _id가 동일해도 저장한다(수정한다) 기존에 저장된 데이터 위에 덮어쓴다.

* 수정시 update()와 save()
update : 특정 필드만 수정할 수 있다.
save : 필드단위로 수정되지 않고 데이터를 덮어쓰므로 이전 데이터는 사라진다.

댓글

이 블로그의 인기 게시물

(네트워크)폴링방식 vs 롱 폴링방식

(ElasticSearch) 결과에서 순서 정렬

(18장) WebSocekt과 STOMP를 사용하여 메시징하기