반응형
Database
university.mongodb.com에 가면 무료로 강의도 들을 수 있다.
- MongoDB 특징
- Humongos(현: 10gen) 라는 회사에서 만든 제품
- JSON Type의 데이터 저장 구조
- Sharding(분산) / Replica(복제) 기능
- MapReduce(분산/병렬처리) 기능
- CRUD위주의 다중 트랜잭션 처리
- Memory Mapping 기술 기반 Big Data 처리 탁월
- MongoDB의 용어
- NoSQL - SQL
- Collection - Table
- Document - Row (Record)
- Field - Column
- Object_id - Primary Key
- Embedded & Linking - Relationship
- 다운로드
- https://www.mongodb.org/
- 사용하기
- mongodb는 bin아래 파일을 실행하지요.
- data의 folder를 따로 만들어 줘야해요.
- Mongo 데몬 실행
- shell에서 $MONGODB_ROOT/bin/mongod --dbpath /data_path를 지정해주자.
- 만약 Cannot start server 라는 에러 메시지가 생기면 mongod --storageEngine=mmapv1 --dbpath /data_path로 실행
- 관리툴
- 실행하기 위해서는 $MONGODB_ROOT/bin/mongo로 실행.
- Mongo 데몬을 종료하기 위해서는
- > use admin
- > db.shutdownServer();
- > exit
- mongo 관리 명령어
- 데이터베이스 목록을 보기 위해
- > show dbs;
- db의 상태를 확인하기 위해서
- > db.stats();
- Collection을 만들자 (Column을 설정할 필요가 없어요)
- > db.createCollection('board')
- Document를 삽입하기 위해 save ,insert
- > db.board.save({_id:1, title:'title1', content:'content1', writer:'banana'})
- > db.board.insert({_id:2, title:'title2', content:'content2', writer:'ssangssang'})
- Document를 확인하기 위해서는 find
- > db.board.find();
- Collection 생성 / 관리
- db.createCollection('name', [option]) : collection 생성
- db.name.insert({key:value}) : collection 생성
- show collections : collection 목록 보기
- db.name.renameCollection('new_name') : collection 이름 변경
- db.name.drop() : 삭제
- 데이터 추가/갱신/삭제/조회
- db.name.save ({key-1:value-1, key-2:value-2 ... });
- db.name.insert ({key-1:value-1, key-2:value-2 ... });
- db.name.update({ckey:cvalue}, {$set:{key-1:value-1});
- db.name.remove({ckey:cvalue});
- db.name.find()
- 비교 연산자
- $cmp : A>B:0+, A<B:0-, A=B:0
- $eq : 동등
- $gt : A>B : true
- $lt : A<B : true
- $lte: A<=B : true
- 논리 연산자
- $and : &
- $not : !
- $or : |
- 산술 연산자
- $add : +
- $devide : /
- $mod : %
- $multiply : *
- $subtract : -
- 문자 연산자
- $strcasecmp : 문자 비교
- $substr : 문자 자르기
- $toUpper : 대문자 변경
- $toLower : 소문자 변경
반응형