[ MongoDB ] MongooseError: The `uri` parameter to `openUri()` must be a string, got "undefined". Make sure the first parameter to `mongoose.connect()` or `mongoose.createConnection()` is a string.

     

     

    mongo DB 사용법을 배우고 약 3주 뒤...

    다시 써보며 무언가를 만드려 코드를 작성하고 서버를 켰더니

    MongooseError: The `uri` parameter to `openUri()` must be a string, got "undefined". Make sure the first parameter to `mongoose.connect()` or `mongoose.createConnection()` is a string.라는 에러가 뜨기 시작했다 😱

     

    이유는 생각보다 간단했는데...

    .env파일에 DB url를 변수로 선언해 놓고 넣어놓고 사용하는데 dotenv를 import 안 했던 것 ㅠ.ㅠ

     

     

    해결하는 순서는

    1) 터미널에서 npm i dotenv를 입력해 dotenv 설치해 준다.

    2) server.js에 아래의 코드를 추가해 주면 된다.

       여기서 중요한 건 db와 관련된 파일보다 먼저 import 되어야 한다.

       만약 db와 관련된 파일이 먼저 import 돼버리면 환경변수값이 로드되기 전이라 오류가 발생한다.

    import "dotenv/config";

     

     

     

    댓글