ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Mongo DB 튜토리얼 1. CRUD
    DB/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
Designed by Tistory.