axios 400 POST error : Mongoose를 다룰 때 new 키워드를 조심하자

2020. 7. 17. 13:41컴퓨터언어/Node.js

728x90
반응형

 

사용자로부터 입력받은 Form 데이터를 mongoose로 연동한 MongoDB에 저장하려고 할때, axios가 POST 400 에러를 토해냈다.

한참 모니터와 눈싸움하며 고민한 결과 나도 모르게 new 키워드를 집어넣었던 것이다.

mongoose에서 new 키워드를 사용하는 경우는 스키마를 생성할 때이다.

조심하도록 하자!

export const saveStudent = async (req, res) => {
  const {
    params: { id },
    body: { name },
    user,
  } = req;
  
  try {
    const major = await Major.findById(id);
    // 밑에 await new Student.create()로 써서 안됐던 것!
    const newStudent = await Student.create({
      text: name,
      creator: administrator.id,
    });
    student.comments.push(newStudent.id);
    student.save();
  } catch (error) {
    res.status(400);
  } finally {
    res.end();
  }
};

 

728x90
반응형