ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [MongoDB]정리
    2018 Mad camp/기술 2019. 1. 5. 10:43

    MongoDB

    NoSQL 기존의 관계지향형 데이터베이스에 의존하지 않는

    key-value 쌍의 Document 형태로 저장하는 문서지향적 데이터베이스이다.

    테이블이 아닌 컬렉션으로 부르며 컬렉션 마다 구조가 다를 수 있다.

    SERVER
        +--DATABASE
        +--COLLECTION
        +-- DOCUMENT
          +--{ key:value }

    기본 명령어

    • MongoDB 서버 실행

    mongod
    • 클라이언트로 접속

    mongo
    • 사용할 데이터베이스 선택

     use db_name
    use mongodb_tutorial
    • 현재 db 목록 보기 (데이터가 비어있으면 목록에 나와있지 않는다.)

    show dbs
    db.sample.insert({"name:" "sample"});
    • db 제거 (제거하기 전에 선택 되어 있어야 함)

    // use ,,,
    db.dropDatabase()
    • 컬렉션 생성

    db.createCollection(name,[options])
    db.createCollection("books")

    // 따로 메소드를 사용하지 않아도 document를 추가하면 자동으로 컬렉션 생성
    db.people.insert({"name:" "velopert"});
    show collections
    • 옵션

    crapped : data 사이즈 고정, 초과시 오래된 데이터 부터 덮어씀
    size : data 사이즈 설정
    max : data 갯수 설정
    • 컬렉션 제거

    db.collection_name.drop()
    db.people.drop()
    • Document 삽입

    db.collection_name.insert(document)
    db.books.insert({"name": "NodeJS Guide", "author": "Velopert"})
    db.books.insert([
    {"name": "book1", "author": "Velopert"},
    {"name": "book2", "author": "Velopert"}
    ])
    • Document 제거

    db.collection_name.remove(criteria,[justOne])
    // 하나의 데이터만 삭제 하고싶을 때 true로 설정, default : false
    db.books.remove({"name": "NodeJS Guide"})
    db.books.remove({"author": "Velopert"},true)
    • Collection 조회

    db.collection_name.find([query],[projection])
    db.books.find()
    db.books.find().pretty() // 예쁘게
    db.numbers.find({"value": 56}) // value가 56인 document 조회
    db.numbers.find({"value":{ $gt: 100} }) // value가 100 이상인 ...
    • sort

    db.collection_name.find().sort({"value":1}) // 오름차순 정렬
    db.collection_name.find().sort({"value":-1}) // 내림차순 정렬
    • limit

    db.numbers.find().limit(3) // 3개만 보여줍니다.
    • skip

    db.numbers.find().skip(2) // 2개는 생략하고 그 다음부터 보여줍니다.
    • 데이터 수정

    db.people.insert([
      {name:"Abet",age:19},
      {name:"Betty",age:20},
      {name:"Charlie",age:23, skills:["modngodb","nodejs"]},
      {name:"David",age:23, score:20}
    ])
    • 특정 field 업데이트하기

    db.people.update({name:"Abet"}, {$set:{age:20}})
    • document replace

    db.people.update({name:"Betty"}, {"name":"Betty 2nd", age:1})
    • 특정 field 제거

    db.people.update({name:"David"}, {$unset:{score:1}})

    Mongoose

    MongoDB을 기반으로한 ODM(객체 데이터를 매핑해주는) Node.js에서 사용가능한 라이브러리이다. ODM은 몽고디비에 있는 데이터를 Client APP에서 JavaScript 객체로 사용할 수 있게 해준다.

    '2018 Mad camp > 기술' 카테고리의 다른 글

    [Node.js]npm, express  (0) 2019.01.04
    [Node.js]생활코딩 필기  (0) 2019.01.03
    [android] intent 활용 예시  (0) 2018.12.30

    댓글

Designed by Tistory.