22.12.15

Han Lee·2022년 12월 15일
0

TIL

목록 보기
15/43

PUT 성공 am09:43


드디어 성공했다.
1. 처음에 문제는 id값을 이용해서 if 조건을 설정하려고 했지만 body안에 id를 안넣은 채로 id를 비교하니 에러가 발생함
2. body 안의 값을 이용하기로 결정 -> PW을 이용해서 비교
3. body pw을 이용해 db에 있는 같은 Pw값을 가진 post를 가져왔지만 if문에서 pw끼리 비교하면 오류 발생.
4. post는 array안에 객체로 있기에 [0]을 이용해서 한번 빼줘야 할것 같아서 해보니 성공.
if문 밖에 (400)에러를 달아넣으니 if안의 201과 400이 동시에 반응하는 오류가 나옴 -> if안에 return을 넣든 else로 If가 실패한 후를 설정해서 해결

Delete 성공 am10:08


1.id를 값을 받아서 비교하려고 했지만 왜인지 모르겠지만 find({id})하면 에러가 발생함. -> password로 저장 후 비교하게 변경

Delete 에러처리 실패 pm 02:09

Error [ERR_HTTP_HEADERS_SENT]라는 에러가 계속 발생 -> 응답을 계속 보내는 문제 발생
원인은 알았지만 아무리 눈씻고 봐도 코드에 문제는 없었다. -> 원빈님이 코드 보시더니 try/catch문은 들여쓰기를 잘 해야한다 해서 들여쓰기 수정하니 해결

댓글 생성 post 1차 성공 pm 03:30


commet에 params로 post의 objectid를 넣어서 post요청을 시도하고 params를 post에 있는지 비교한 뒤에 있다면 id와 함께 저장하게 했다.
원빈님 조언 : 파람스를 create 할때 같이 넣어주자. -> 스키마에 string으로

댓글 생성 수정과 GET요청 1차성공 pm 03:58


위에서 if문이 제대로 작동을 안하는 것을 테스트 해보니 알게 되었따 과감히 없애고 try안에서 실패할 이유는 2가지 findById의 오류 혹은 create의 문제로 create에서 문제가 될것은 text가 없을때 post에 _id가 없을때 인데 text는 위에서 없다면 error처리로 방지했고 post는 _id가 없으면 발생하게 되는데 _id가 없거나 잘못되면 findById에서도 error가 나기에 catch를 이용해서 id에 대한 error처리를 했다.

전체 기능 1차 완성 pm 05:05

댓글까지 전체 기능을 완성했다.

7:30 CastError: Cast to ObjectId failed for value

CastError: Cast to ObjectId failed for value가 발생하는데 흠...... 값에 대해 objectid로 캐스트하지 못했다....

const postId = await Posts.findById({_id:postid}).exec()

findOne으로 나온 결과물은 object형식의 new ObjectId("")이런 형식으로 나오는데 이것을 사용할 방법이 딱히 떠오르지 않아서
Objectid를 이용한 무언가를 해보려고하다가 밑에 코드가 되었다.
_id:postid에서 postid값이 id형식에 맞지 않으면 위의 CastError가 뜬다 즉 _id에 id가아닌 이상한 값이 오면 전부 error가 나게 되는것이다. catch문구를 id가 아닙니다로 바꾸면 일단 id형식이 맞는지 아닌지는 확인이 가능하다. -> id가 post의 아이디여서 내가 올바른 post의 id를 사용하여 comment를 다는지 확인하고 싶은데..... 방법이 떠오르지 않는다.

vscode 오류 pm 08:07

갑자기 node_modules에 빨간 불이 들어왔다. 튜터님에게 물어보니 vscode가 잘못된 경로로 실행이 된것 이라고 설명해주셨다. 실행 할때 정확한 경로를 잡고 열어야겠다.

내가 할 수 있는한 다 했다.


좀 더 공부해봐야 겠다. ObjectId와 mongodb에 대해 오브젝트 아이디를 불러올때 try/catch를 이용해 objectid형태가 맞는지 비교하는것으로 postid인지 아닌지 확인하게 했다. 그 밑에 있는 try/catch문은 create시 문제가 발생하면 일어나게 했다.

여기도 완벽하지 못하다 if문도 다시 손봐야겠고 id도 손봐야되지 않을까 생각이든다.

profile
렌덤형 인간

0개의 댓글