DATABASE/MongoDB

[MongoDB] 데이터 조회

잇나우 2020. 7. 28. 13:10
반응형

데이터 조회

db.컬렉션이름.find([query], [projection])

컬렉션에 등록된 데이터들을 조회할 수 있다. document의 값이 키-밸류가 여러개일 경우 보기 불편해지는데 그땐 뒤에 .pretty()를 붙여주면 멀티라인으로 출력이 된다.

  • query
    조회를할 때 조건을 줄 수 있다. 에) db.컬렉션이름.find({"name": "eatnows"})
    비교같은 경우 쿼리연산자를 사용할 수 있다. 예) 100보다 큰 데이터 조회 db.컬렉션이름.find({"value": {$gt: 100 } })
  • projection
    내가 보고싶은 데이터의 값만 조회할 수 있게 해준다.
    db.컬렉션이름.find( {}, {"_id":false, "title":true} )
    $slice연산자를 이용해 조회를 할때 limit을 설정할 수 있다.
    db.컬렉션이름.find( {"title": "제목"}, {comments: {$slice: 1 }})

조회된 데이터를 정렬하고 싶을때는 sort() 메소드를 이용한다.

/* value의 값을 오름차순으로 정렬한다 */
db.컬렉션이름.find().sort({ "value": 1 })
/* value의 값을 내림차순으로 정렬한다 */
db.컬렉션이름.find().sort({ "value": -1 })

조회되는 데이터의 갯수를 제한하고 싶을때는 limit()메소드를 사용한다.

/* 데이터를 3개만 조회한다. */
db.컬렉션이름.find().limit(3)

skip()메소드는 조회되는 데이터를 특정 갯수만큼 생략하고 그 이후부터 출력하고 싶을때 사용한다.

/* 2개의 데이터를 제외한 나머지 데이터가 출력된다. */
db.컬렉션이름.find().skip(2)

위 메소드들은 중복해서 사용할 수 있으며 자바스크립트 기반이여서 함수를 만들어서 사용할 수 도있다. 함수를 만드는법은 자바스크립트와 똑같다.

반응형