Mongoose Patch

욱2·2023년 9월 18일

MongoDb

목록 보기
4/4

async updateQuiz(
subject: string,
level: number,
user: Users,
quizId: string,
updateQuizDto: UpdateQuizDto
) {
const question = updateQuizDto.question;
const answer = updateQuizDto.answer;
const modelToUse = this.getModel(subject);
const query =
subject === 'personnel'
? { level, userId: user.userId, _id: quizId }
: { level, _id: quizId };

const updateOperation = { $set: updateQuizDto };

await modelToUse.findOneAndUpdate(query, updateOperation, {new: true});
}

TroubleShoot:

변수를 새로 선언할 필요없이 object를 $set으로 하면 된다. 데이터 변수명이 같을때만!

{new: true}가 없으면 default로 값을 업데이트 안하고 오리지널 데이터를 리턴한다. 왜 디폴트로 바로 바뀐값을 리턴하게 안했을까 알아봐야겠다

profile
성장하는 날 위한 기록

0개의 댓글