반응형

1. 배경상황
Next.js 프로젝트에서 다음과 같이 DB를 연결하는 코드를 작성했는데,
import { MongoClient } from "mongodb";
const url = 'mongodb+srv://<몽고DBurl주소>'
const options = {
useNewUrlParser: true,
}
let connectDB;
if (process.env.NODE_ENV === 'development') {
if (!global._mongo) {
global._mongo = new MongoClient(url, options).connect()
}
connectDB = global._mongo
} else {
connectDB = new MongoClient(url, options).connect()
}
코드가 동작은 잘 하지만 터미널에서 다음과 같은 Warning 메시지가 계속 뜬다.
(node:95420) [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)
2. 해결 방법
메시지를 잘 읽어보면 useNewUrlParser 기능이 Node.js 드라이버 4.0.0 버전부터 deprecated 되었기 때문에 아무런 효과가 없다, 그리고 다음 메이저 버전에서는 삭제될 것이다라고 한다.
지금 당장은 문제가 없지만 다음 메이저 버전으로 넘어가면 기능 자체가 없어져서 코드 실행에 문제가 생길수 있기 때문에 삭제해두도록 한다.
import { MongoClient } from "mongodb";
const url = 'mongodb+srv://<몽고DBurl주소>'
let connectDB;
if (process.env.NODE_ENV === 'development') {
if (!global._mongo) {
global._mongo = new MongoClient(url).connect()
}
connectDB = global._mongo
} else {
// connect 하는 코드를 변수 저장 후 export 해서 사용
connectDB = new MongoClient(url).connect()
}
export { connectDB }
'Programming' 카테고리의 다른 글
[Git]upstream이란? Github upstream 원격 저장소 추가하는 방법 (0) | 2025.04.09 |
---|---|
[MongoDB]mongodb querySrv ENODATA 에러 해결 방법 (0) | 2025.03.08 |
[Next.js]설치 및 개발환경 세팅 (0) | 2025.02.05 |
[VSCode]터미널에서 명령어로 VSCode 열기(MacOS) (0) | 2024.02.10 |
[Python/Svelte]'localhost:5173 says {}'문제 해결 (0) | 2024.01.13 |