2017 - 11 - 11 (토)
MongoDB 구조
- 컬렉션(Collection) : MongoDB 에서는 Mysql 이나 Oracle 등에서 쓰는 테이블을 용어적으로 컬렉션이라 칭한다. 하지만 테이블과 조금 다른 점이 있다. 테이블은 데이터 저장 시 정해놓은 칼럼의 형태대로 컬렉션에 넣어야 하지만 MongoDB 의 경우 이러한 제약이 없다.
- 문서 객체(Document) : MongoDB 에서는 각각의 컬렉션에서 하나의 행을 문서객체라고 한다.
- 데이터베이스 생성 : use 데이터베이스명
//--이미 존재하는 db일 경우 해당 db를 사용하게되고 없을 경우 생성--//
> use 데이터베이스명
//--현재 사용하는 db 확인--//
> db
//--현재 존재하는 데이터베이스 리스트 확인--//
> show dbs
- Database 제거하기 : db.dropDatabase()
> use db명
> db.dropDatabase()
//--위에서 선택한 db제거--//
- Collection 생성 : db.createCollection(name, [options])
//--옵션없이 컬렉션 생성--//
> db.createCollection('users')
//--옵션있는 컬렉션 생성--//
> db.createCollection('users', {'옵션명' : '옵션값'})
//--collection 리스트 확인--//
> show collections
- Collection 제거 : db.Collection명.drop()
> use db명
//--유저 컬렉션 제거--//
> db.users.drop()
MongoDB 쿼리메소드
- 조회하기 : find()
> db.collection명.find()
> db.collection명.find().pretty() //도큐먼트조회시 속성별로 줄바뀜해서 출력해준다.
- 추가하기 : insert()
> db.collection명.insert([{'속성1':'속성값1', '속성2':'속성값2'}])
- 제거하기 : remove()
//-- name 속성이 신희준인 document 제거 --//
> db.collection명.remove({"name" : "신희준"})
- 수정하기 : update()
> db.collection명.insert([{'name':'신희준', 'job' : 'accountant'}])
//-- name 속성이 신희준인 document 의 job 속성의 값을 programmer 로 수정 --//
> db.collection명.update({name:'신희준'}, {$set:{job: 'programmer'}})
- 특정 속성 제거하기
//-- name 속성이 신희준인 document 의 job 속성을 제거 --//
> db.collection명.update({name:'신희준'},{$unset: {job:'programmer'}})