코드를 변경하면 서버를 껐다 다시 켜야하는 수고를 줄이기 위해 nodemon을 설치했다. nodemon은 코드 변경을 감지하여 서버를 자동으로 재시작 해주는 패키지이다.
npm install -g nodemon
-g : 글로벌
설치 후 package.json 파일 안의 script에
"start" : "nodemon --watch src/ src/app.js"
이렇게 저장해두면 npm start 명령만으로 서버를 실행시키고 --watch라는 명령이 src폴더 아래의 변경을 감지하여 src/app.js 를 재실행시킨다.
어제는 잘 되던 몽고DB가 실행이 안돼서 구글링을 하면서 여러 시도를 해봤는데 해결이 안됐다. 제출까지 시간이 촉박해서 재설치를 했더니 실행이 됐다.
MongoServerError: E11000 duplicate key error collection:
~~ index: postId_1 dup key: { postId: null }
해결 : 현재 컬렉션을 드랍하고 새로 게시물을 생성을 하면 같은 user로도 데이터가 들어간다.
의심 : 스키마에 unique값이 있었을때 만든 컬렉션이어서 그렇다.
시도1 : post스키마에 unique:true를 추가해도
unique값이 없을 때 생성한 현재 컬렉션에는 user가 중복으로 들어간다.
컬렉션을 드랍하고 다시 만든다.서버는 다시 켜지 않았다. 다시 게시물을 생성해본다.
-->중복으로 들어간다.
서버를 껐다 킨다. 아직 중복으로 들어간다. 요청은 잘 되는데 에러메시지는 안 나오지만 DB에 추가가 안 된다.
컬렉션을 드랍하고 다시 생성해본다. 여전히 잘 들어간다.
컬렉션을 드랍하고 껐다 다시 킨다.
여전히 잘 된다.
❔스키마에 unique:true인데 왜 에러가 안 날까?