-
Mongo DB 튜토리얼 1. CRUDDB/MongoDB 정리 2019. 9. 10. 09:48
id 12바이트 현재 타임스태프 4, 서버값3, insert시킬때마다 하나의 프로세스가 도는데 프로세스마다의 식별자 2, 순서 3으로 구성된다
문서의 개수나, 크기, 내용이 다 다르다.
하나의 구조가 명확하다. 구조화된 json 문서를 말하는 것
조인이 필요없다.
쿼리기능이 상당히 다양하다. 거의 sql처럼 강력한 쿼리 기능을 제공
4.0/bin에 mongod가 서버 mongo 가 클라이언트 툴이다.
mongod를 실행해놓고 mongo를 통해 서버를 접속할 것.
명령창에서 원래는 /bin까지 들어가야 하지만 path 환경변수를 수정하여 바로 사용할 수 있도록 해주자
데이터 저장 폴더는 c:\data\db 로 두자.
md data
첫 번째 명령창을 열어서
mongoDB서버 가동
-mongod --dbpath c:\data\db
두번째 명령창을 열어서
-mongo (localhost:27017) 를 통해 client 툴 띄우자
mongoDB 에서는 RDBMS JOIN 에 필요한 관계성이 원본 포스팅에 임베디드된 형태로 표현된다.
즉 관계형 db에서 필요한 조인이 필요가 없다.
>mongo는 즉 (mongo shell은) 자바스크립트 기반으로 동작한다.
우선 데이터베이스를 만들고 컬렉션을 만들고 그 안에 문서를 집어넣어야 한다.
데이터 베이스를 만드는 명령어는
use DATABASE_NAME 이다.
1) DATABASE_NAME이 있을시 ==> 사용한다.
2) 없을시 ==> 새로 만든다.
문서를 삽입시 insert ( json 객체로)
db.movie.insert({"name":"korea"})
1쌍짜리 json 문서 객체를 insert 해라. 사실 문서 insert전 컬렉션을 만들어야 하는데
db -> 현재 선택된 db // mydb 이고
movie -> 새로운 컬렉션이 없다면 만든다
처음에는 use mydb -> show dbs를 해도 보이지않지만 insert후에는 데이터가 있기 때문에 show dbs시 보이게 된다.
몽고 DB에 default DB의 이름은 test이다.
DB전체를 제거하고 싶을시 db.dropDatabase() // 이떄 db는 현재 선택 db
안에 내용 다 날라간다.
컬렉션만들기
db.createCollection(name,options)
Options의 Type은 document이다.(Json 객체)
ex ) db.createCollection("mycol", { capped : true, autoIndexID : true, size : 6142800, max : 10000 } )
capped: default는 false, true로 할 시 capped collection이 됨. 즉 크기가 고정된다. 고정된 용량 초과로 온다면 오래된 것을 지운다
size: 크기 정함
autoIndexID : default는 false, true시 key값 기준으로 인덱스 생성한다.
max : capped collections일 경우 최대용량값 저장.
컬렉션을 꼭 만들 필요는 없다.
ex) db.movie.insert({"name":"korea"})
컬렉션제거
db.컬렉션이름.drop()
3.2 이후
insert로 해도 되지만 insertOne, insertMany를 통해 하나의 싱글문서나 다수의문서를 넣어줄수 있다.
검색하는 메소드는 find()
db.컬렉션이름.find()
(find().pretty() 는 좀더 보기 좋은 형태로 출력해준다)
db.컬렉션명.find(<검색조건>, <프로젝션>) // 검색조건, 프로젝션은 옵션
= select < 프로젝션 > from 컬렉션명 where <검색조건> ( RDBMS )
검색조건역시 문서 형식으로 표현 해야 한다.
예 ) { <키>:<값>, <키>:{<연산자>:<값>},...}
Equality는 $eq이지만 가장 많이쓰기에 생략해도 가능하다.
p23까지
'DB > MongoDB 정리' 카테고리의 다른 글
MongoDB 튜토리얼 5. Aggregation (0) 2019.10.15 MongoDB 튜토리얼 4. CRUD (31) 2019.10.01 MongoDB 튜토리얼 3. CRUD (31) 2019.09.24 MongoDB 튜토리얼 2. CRUD (0) 2019.09.17 NoSQL과 MongoDB (0) 2019.09.03