ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MongoDB 기본 명령어와 조작법
    프로그래밍/HTML5 Web 2016. 7. 6. 15:53
    반응형


    이 강의는 기본적으로 컴퓨터에 MongoDB 서비스가 설치되어있다는 것을 전제로 진행합니다. 설치되어있지 않은 분들은 http://writingdeveloper.tistory.com/204 글을 참고하여 MongoDB를 설치한 후에 진행하시길 바랍니다.



    기본 명령어


    MongoDB는 자바스크립트 코드를 이용하여 데이터베이스를 관리하므로 MongoDB는 모든 자바스크립트 코드를 입력 가능합니다.


    예로 아래와 같은 코드의 사용이 가능합니다.


    1
    273+52
    cs


    당연히 결과값은 325가 나오겠지요. 또한 자바스크립트의 변수 선언문과 반복문도 그대로 사용가능합니다.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    var a=0;
    for(var i=0; i<273; i++) { a+=i;}
     
    // 결과값은 37128
     
    // a출력
     
    a
    // 37128
    cs


    또한 MongoDB는 데이터베이스를 관리할수 있는 db객체를 제공하는데 다음 코드와 같이 변수 이름을 입력하면 현재 무슨 데이터베이스에 있는지 확인이 가능합니다.





    데이터베이스와 컬렉션


    MongoDB는 데이터 계층구조를 가지는데 데이터베이스는 여러개의 컬렉션을 가지며 각 컬렉션은 데이터가 기록된 JSON문서를 갖고있습니다.


    데이터베이스 생성 명령어는 use [데이터베이스 이름] 으로 DB를 변경하게되면 자동으로 DB가 생성됩니다. use 명령어를 사용한 이후에는 db 객체가 node로 변경된것을 확인가능합니다.


    컬렉션을 생성할 때는 createCollection() 메서드를 사용하는데 다음과 같은 명령어를 입력하면 products 컬렉션을 생성할수 있습니다.


    데이터 저장


    데이터를 저장할 떄에는 save() 메서드를 사용합니다. save()메서드의 매개변수에 저장하고자 하는 데이터를 자바스크립트 객체의 형태로 입력하면 자동으로 데이터가 저장됩니다.

    1
    db.products.save({name:'pencil',price:500})
    cs



    find() 메서드를 사용하면 컬렉션 내부의 데이터의 확인이 가능합니다.


    위의 find() 메서드 값의 결과를 보면 자동으로 _id 속성값이 생성된것을 확인가능한데 _id 속성은 데이터를 저장한 시간을 기반으로 만들어진 속으로 각각의 객체를 구분할수 있게 해줍니다.

    단순히 JSON형식으로 문서에 데이터를 저장하는것이므로 MySQL데이터베이스와 같은 관계형 데이터베이스의 테이블처럼 같은 형태의 데이터를 입력할 필요가 없습니다.




    예제를 위하여 데이터를 몇개 더 입력해봅시다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    db.products.save({name:'pencil', price:500})
    db.products.save({name:'eraser', price:500})
    db.products.save({name:'notebook', price:2000})
    db.products.save({name:'glue', price:700})
    db.products.save({name:'scissors', price:2000})
    db.products.save({name:'stapler', price:3000})
    db.products.save({name:'pen', price:1000})
    db.products.save({name:'brush', price:2000})
    db.products.save({name:'knife', price:500})
    db.products.save({name:'protractor', price:500})
    cs


    결과값은 아래와 같습니다 





    지금까지 꾸준히 MySQL만 써오다 MongoDB를 설정해보려니 헷갈리는 부분이 많은것같습니다. 다만 최근에 놓고 있었던 Node.JS와 궁합이 좋다고 하여 꾸준하게 글작성을 할 생각입니다.


    따라오다 모르는점이 있다면 댓글로 남겨주시면 최대한 빠르게 답변드리도록 하겠습니다~

    반응형

    댓글

Designed by Tistory.