데이터의 CRUD

omnigi·2022년 3월 28일
1

백엔드

목록 보기
5/8

데이터 생성

포스트의 인스턴스를 만들 때는 new 키워드를 사용하고 생성자 함수의 파라미터에 정보를 지닌 객체를 넣습니다.
인스턴스 생성 이후에는 save() 함수를 실행시켜 DB에 저장시켜야 합니다.

데이터 조회

api를 사용하여 데이터를 조회할 때에는 find()함수를 사용합니다.
find()함수를 호출한 후에는 exec()를 붙여주어야 서버에 쿼리를 요청합니다.
데이터를 조회할 때 특정 조건을 설정하고, 불러오는제한도 설정할 수 있습니다.

특정 포스트 조회

read 함수를통해 특정 포스트를 id로 찾아서 조회하는 기능을 구현할 때에는 findById()함수를 사용합니다.

데이터 삭제

데이터를 삭제할 때는 여러종류의 함수를 사용할 수 있어서 자기가 필요하거나 원하는 함수를 골라서 사용하시면 됩니다!

  1. remove(): 특정조건을 만족하는 데이터를 모두 지웁니다.
  2. findByIdAndRemove(): id를 찾아서 지웁니다.
  3. findOneAndRemove(): 특정 조건을 만족하는 데이터 하나를 찾아서 제거합니다.

저는 여기서 findOneAndRemove() 를 사용할 생각이에요

데이터 수정

데이터를 업데이트 할 때는 findByIdAndUpdate()함수를 사용합니다.
이 함수를 사용할때는 세가지 파라미터를 넣어주어야 합니다.
1. id
2. 업데이트 내용
3. 업데이트의 옵션

데이터 역순으로 불러오기

find().exec 앞에 .sort()함수를 넣어주면 데이터 순서를 정할 수 있습니다.
내림차순은 { key: 1 } 오름차순은 { key: -1 }입니다

const posts = await Post.find()
      .sort({ _id: -1 })
      .limit(10)
      .skip((page - 1) * 10) //페이지 넘기기 기능
      .lean()
      .exec();

0개의 댓글