본문 바로가기
Programming & Platform/Node.js

(node:24612) [MONGODB DRIVER] Warning: useNewUrlParser is a deprecated option: useNewUrlParser has no effect since Node.js Driver version 4.0.0 and will be removed in the next major version 오류 해결

by 코드스니펫 2023. 11. 8.
반응형

(node:24612) [MONGODB DRIVER] Warning: useNewUrlParser is a deprecated option: useNewUrlParser has no effect since Node.js Driver version 4.0.0 and will be removed in the next major version 오류 해결

 

javascript logo

 

mongoose 연결 도중 발생한 오류 입니다. 이 글에서는 오류 파악과 분석 및 해결방법에 대해 소개하겠습니다.

 

 

useNewUrlParser is a deprecated option 오류

오류 파악

아래의 코드 내 mongoose 연결 테스트 중 오류를 만났습니다.

 

// models/index.js

const mongoose = require("mongoose");

// localhost의 27017 포트 번호로 MongoDB와 연결합니다.
// Database Name은 todo-demo 입니다.
mongoose
  .connect("mongodb://localhost:27017/todo-demo", {
    useNewUrlParser: true,
    useUnifiedTopology: true,
  })
  .then((value) => console.log("MongoDB 연결에 성공하였습니다."))
  .catch((reason) => console.log("MongoDB 연결에 실패하였습니다."));

const db = mongoose.connection;
db.on("error", console.error.bind(console, "connection error:"));

module.exports = db;

 

 

오류 캡처

 

위에 나타난 오류를 아래에 적어 놓았습니다.

 

(node:24612) [MONGODB DRIVER] Warning: useNewUrlParser is a deprecated option: useNewUrlParser has no effect since Node.js Driver version 4.0.0 and will be removed in the next major version (Use `node --trace-warnings ...` to show where the warning was created)
(node:24612) [MONGODB DRIVER] Warning: useUnifiedTopology is a deprecated option: useUnifiedTopology has no effect since Node.js Driver version 4.0.0 and will be removed in the next major version

 

useNewUrlParser is a deprecated option 뿐만 아니라 useUnifiedTopology is a deprecated option에도 오류가 발생했습니다.

 

 

좋은 개발자의 비밀, 실력 향상과 성공을 위한 지침 - 부트캠프의 중요성

좋은 개발자의 비밀, 실력 향상과 성공을 위한 지침 - 부트캠프의 중요성 오늘날의 디지털 시대에서는 개발자들이 핵심 역할을 수행하며 현대 사회를 움직이게 하는 중요한 역할을 맡고 있습니

lemonlog.tistory.com

 

오류 원인

위에 나타난 오류를 번역하니 다음과 같이 나왔습니다.

(node:24612) [MONGODB DRIVER] 경고: useNewUrlParser는 더 이상 사용되지 않는 옵션입니다. useNewUrlParser는 Node.js 드라이버 버전 4.0.0부터 효과가 없으며 다음 주요 버전에서 제거됩니다. (경고가 생성된 위치를 표시하려면 `node --trace-warnings ...`를 사용하십시오.)
(node:24612) [MONGODB DRIVER] 경고: useUnifiedTopology는 더 이상 사용되지 않는 옵션입니다. useUnifiedTopology는 Node.js 드라이버 버전 4.0.0부터 효과가 없으며 다음 주요 버전에서 제거됩니다.

 

확인한 결과 useNewUrlParser와 useUnifiedTopology 옵션이 Node.js 드라이버 4.0.0 버전 이후로는 사용되지 않는다는 뜻이었습니다.

 

 

gitignore 사용법 - 소스코드 제공 사이트 소개 (gitignore.io)

gitignore 사용법 - 소스코드 제공 사이트 소개 (gitignore.io) 소프트웨어 개발 프로젝트를 진행하면 수많은 파일과 폴더가 생성되고 수정됩니다. 그런데 Git 저장소에는 모든 파일을 포함시키면 프로

lemonlog.tistory.com

 

해결 방법

위에 작성된 코드에서 useNewUrlParser와 useUnifiedTopology가 설정된 부분은 지우고 다시 실행해보니 오류가 사라진 것을 확인할 수 있었습니다.

 

// models/index.js

const mongoose = require("mongoose");

// localhost의 27017 포트 번호로 MongoDB와 연결합니다.
// Database Name은 todo-demo 입니다.
mongoose
  .connect("mongodb://localhost:27017/todo-demo", {
    //useNewUrlParser: true,
    //useUnifiedTopology: true,
  })
  .then((value) => console.log("MongoDB 연결에 성공하였습니다."))
  .catch((reason) => console.log("MongoDB 연결에 실패하였습니다."));

const db = mongoose.connection;
db.on("error", console.error.bind(console, "connection error:"));

module.exports = db;

 

 

원인은 버전업에 따른 미사용

 

useNewUrlParser is a deprecated option의 오류 원인은 Node.js가 버전이 올라가면서 해당 옵션 미사용해도 되는데 사용해서 나타난 것이었습니다. 해결법은 해당 옵션을 지우는 것만으로 간단히 처리할 수 있었습니다.

 

▼ 아래 글도 읽어보세요! ▼

 

 

JavaScript 호이스팅(Hoisting) 소개, 기능, 유의점, 예시 코드

JavaScript 호이스팅(Hoisting) 소개, 기능, 유의점, 예시 코드 JavaScript에서 호이스팅은 많은 개발자에게 헷갈리는 개념 중 하나입니다. 이 글에서는 호이스팅이 무엇인지, 그 동작 원리, 그리고 예시

lemonlog.tistory.com

 

 

JavaScript Spread 연산자 (...) 소개, 개념, 사용법, 예제 코드

JavaScript에서 Spread 연산자(...) 소개, 개념, 사용법, 예제 코드 Spread 연산자는 JavaScript에서 다양한 상황에서 유용하게 활용되는 중요한 개념 중 하나입니다. 이 연산자를 이해하고 사용하는 것은

lemonlog.tistory.com

 

 

JavaScript null과 undefined 소개, 특징, 예시, 개발자들 사이의 약속

JavaScript null과 undefined 소개, 특징, 예시, 개발자들 사이의 약속 다양한 개발환경에서 null과 undefined은 변수와 값의 상태를 나타내는 중요한 역할을 합니다. 그러나 개발자들 사이에서는 이 두 개

lemonlog.tistory.com