오늘의 코테 문제. for문을 사용해 답을 구해야한다라는 생각도 들었고
function solution(numbers) {
for (let i = 0; i < numbers.length; i++) {
까지도 작성을 했으나 그 다음 각 원소에 두배한 원소를 구하는 값을 어떻게 적어야 할지 몰랐다.
router.patch('/:id', async (req, res) => {
const { id } = req.params;
if (!req.body || !id) {
return res.json({ message: "데이터 형식이 올바르지 않습니다." });
}
const { userName, title, content, password } = req.body;
const post = await Post.findById({id}); // 오류 난 부분
노드 입문주차 블로그 만들기 리뷰 강의를 보면서 기존 코드를 수정 중 만난 오류
코드를 맞게 작성했다고 생각하고 서버를 켜고 썬더에서 실행하면 서버가 꺼졌다.
일단 다른 for문 예시를 다시 읽어 보고 시도를 하려고 했다.
코드를 다시 보면서 어느 부분이 문제인지 파악하려고 했다.
function solution(numbers) {
for (let i = 0; i < numbers.length; i++) {
numbers[i] *= 2;
}
return numbers;
}
numbers 배열에서 index i번째 값을 가져와 거기에 두배를 해준 뒤 다시 해당 index에 저장한 배열을 return.
router.patch('/:id', async (req, res) => {
const { id } = req.params;
if (!req.body || !id) { //body값이나 undefined거나 형식이 바르지 않을 때 err 내보내기
return res.json({ message: "데이터 형식이 올바르지 않습니다." }); // 다음 코드가 실행되기 전에 코드가 실행돼야 하기 때문에 return 사용
}
const { userName, title, content, password } = req.body;
const post = await Post.findById( id ); //findById를 통해서 id값을 찾게 될 때는 바로 id값을 지정해도 찾을 수 있다. 굳이 {}할 필요 없음.
findById 부분에서 id값을 ({id})라고 적었길래 (id)로 수정했더니 제대로 작동했다.
findById를 통해서 id값을 찾을 때는 이미 찾아야 할 값이 id라고 명시를 했기 때문에 바로 id값을 지정해도 찾을 수 있다.