배워서 남주는 개발자 :)

Web

[Node.js / mongoose] 데이터 조회에 사용가능한 방법 (find / findOne / findById)

핏짜보이 2022. 4. 16. 14:35
반응형

우리가 검색을 할때 3가지 방법으로 할 수 있다.

1. findOne()

2. findById()

3. find()

 

*  Model.findById(id)

_id를 기준으로 단일 문서를 찾는다.

_id를 기준으로 질의하려면 findOne()대신에 findById()를 사용하라고 한다. 참고문서

 

Mongoose v6.3.0:

Parameters doc «Object» values for initial set optional «[fields]» object containing the fields that were selected in the query which returned this document. You do not need to set this parameter to ensure Mongoose handles your query projection. [skipI

mongoosejs.com

 

아래의 형태로 사용가능하다.

await Model.findById(id);

export const postWrite = async (req,res)=>{
    const {id} = req.params;
    const post = await Post.findById(id);
    return res.render("write", {pageTitle: post.title, post});
};

 

*  Model.findOne(검색조건)

하나의 문서를 찾는 역할을 한다.

_id로만 검색을 한다면 findOne말고 findById를 사용하면 된다.

 

await Model.findOne({name: "Kim"});

 

 

*  Model.find(query, fields)

하나의 문서를 찾는 역할을 한다.

_id로만 검색을 한다면 findOne말고 findById를 사용하면 된다.

지정한 키의 결과만 조회한다.

728x90