초심자 입장에서 해결하기 어려웠던 문제가 있어 공유드립니다.
선생님 혹은 잘 아시는 분들이 내용이 맞는지 검증해주시기를 부탁드립니다.
문제
npm i mongodb로 설치하는 몽고디비 드라이버 버전이 5.0인 경우 connect()에 넣은 콜백함수가 실행되지 않는 현상이 있습니다. 이는 변경된 스펙때문인 것으로 보입니다.
사진 좌측은 강의에 사용된 4.3이고, 우측은 제가 사용한 5.0입니다. 5.0에는 콜백을 인수로 받는 함수원형이 기재되어있지 않습니다.
해결
해결 방법 예시 두 가지를 공유드립니다.
아래와 같이 then-catch 합니다. (제가 이렇게 했습니다.)
MongoClient.connect(MongoURL)
.then(database => {
app.listen(port, () => {
console.log(`Example app listening on port ${port}`);
});
db = database.db('Express');
post = db.collection('posts');
})
.catch(err => {
console.log(err);
return;
})
.finally(() => {
console.log('끝');
});
아래 가이드의 코드를 따라합니다.
https://mongodb.github.io/node-mongodb-native/5.0/#connect-to-mongodb
감사합니다.
자세한 설명은 블로그에 달아두었습니다.