이전 질문에 이어서 새로운 문제가 생겼습니다.
이전에 제가 아래 코드를 사용해서 변경점을 나타내려 하였습니다.
const modified = await User.update(
{
name,
age,
married,
comment,
},
{
where: { name: params },
}
);
이 코드를 사용한다 한들 변경만 해줄 뿐, 변경점을 나타낼수는 없었습니다. 그래서 저는 코드를 아래 처럼 수정했습니다.
const { name, age, married, comment } = req.body;
try {
const params = decodeURIComponent(req.params.who);
const getOld = async () => {
const usersBefore = await User.findAll({
where: { name: params },
});
return JSON.stringify(usersBefore[0].dataValues);
};
await User.update(
{
name,
age,
married,
comment,
},
{
where: { name: params },
}
);
const getNew = async () => {
const usersAfter = await User.findAll({
where: { name: params },
});
return JSON.stringify(usersAfter[0].dataValues);
};
const result1 = await getOld();
const result2 = await getNew();
const message = "유저가 변경되었습니다!";
res.render("show", { result1, result2, message });
} catch (err) {
console.error(err);
next(err);
}
간략하게 제 기준에서 설명드리자면 update()함수를 쓰기 전, 즉 변경전에 데이터를 getOld 함수안에 User.findAll()안에 where옵션으로 라우트 매개변수를 가져옵니다. 저는 여기서 데이터를 바꾸기 전에 데이터가 getOld함수안에 저장되어 있을 거라고 생각했습니다. 그 다음에 User.update() 함수로 데이터를 변경합니다. 그리고 데이터가 변경 되어 있을테니 데이터베이스에서 다시한번 getNew() 함수를 통해서 User.findAll()함수로 바꿔져 있을(제 기준입니다.) 데이터를 getNew함수안에 저장되었을 거라 생각했습니다.
즉 'User.update()를 기준으로 getOld와 getNew에는 각각 변경전과 변경후 데이터가 담겨져 있을거다' 라고 생각했습니다. 하지만 저의 예상은 보기좋게 빗나갔네요 ㅋㅋ getOld와 getNew에는 둘다 똑같이 변경후의 데이터가 저장되어있었습니다. 나름 괜찮은 발상이었는데 변경전 데이터와 변경후 데이터를 어찌 나누면 좋을지 궁금합니다.
답변 1
리눅스 노드 설치시 패키지
0
172
0
socket.js 에서 referer로부터 roomId를 가져올 때
0
926
3
스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문
0
2297
2
a[title] 질문드립니다
0
386
1
리뉴얼 강의 및 공부 방법
0
589
1
jwt decode
0
1137
1
node.js 교과서 3판 질문드립니다
0
396
1
passport와 jwt
0
438
1
리뉴얼 강의
0
427
2
혹시 Node.js 교과서 3판 이북은 언제 나오나요?
0
359
1
몽고디비 사용자도 MYSQL부분을 들어야 하나요???
0
488
1
sql 쿼리 로그는 어떤 모듈이 작성하나요?
0
511
2
nunjucks res.render('error'); 작동을 안합니다.
0
518
1
질문있습니다.
0
348
1
multer 한글 파일 업로드시 파일명이 깨져요.
1
3543
1
수업자료는 어디있나요?
0
374
1
질문 있습니디
0
244
1
multer 사용시 file 외 name값은 못받나용?
0
429
1
코드 중복 부분 질문드립니다.
0
303
1
api 만드는 이유 질문드립니다.
0
292
1
Strategy의 done에 대해 질문드립니다.
0
373
1
안녕하세요 fs 권한 관련 질문드립니다
0
455
1
시퀄라이즈 연결질문...
0
510
2
res.setHeader vs res.cookie
0
1797
3





