반응형
(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 오류 해결
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에도 오류가 발생했습니다.
오류 원인
위에 나타난 오류를 번역하니 다음과 같이 나왔습니다.
(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 버전 이후로는 사용되지 않는다는 뜻이었습니다.
해결 방법
위에 작성된 코드에서 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가 버전이 올라가면서 해당 옵션 미사용해도 되는데 사용해서 나타난 것이었습니다. 해결법은 해당 옵션을 지우는 것만으로 간단히 처리할 수 있었습니다.
▼ 아래 글도 읽어보세요! ▼
'Programming & Platform > Node.js' 카테고리의 다른 글
Node.js 웹 어플리케이션 개발을 위한 패키지 설정 (0) | 2023.11.16 |
---|---|
Node.js에 대해 잘 못 알고 있는 세 가지 (0) | 2023.11.14 |
Node.js 환경 변수의 효과적인 관리를 위한 .env 사용법 (0) | 2023.11.10 |
jwt.io JWT Token 복호화 사이트 사용법 (1) | 2023.11.09 |
Node.js 최신버전 설치 다운로드 방법, 설치 확인 방법 (1) | 2023.10.14 |