-
2022_10_07TIL WIL 2022. 10. 7. 15:03
스키마의 index 부터가 너무 다르잖아
내가 사용한 코드
const mongoose = require("mongoose"); // 몽구스 라이브러리 가져오기 const connect = () => { mongoose //.connect("mongodb:// ", { useNewUrlParser: true }) .connect("mongodb:// ", { useNewUrlParser: true }) .catch(err => console.log(err)); // 에러가 발생하면 콘솔에 에러 찍어줘 }; mongoose.connection.on("error", err => { console.error("몽고디비 연결 에러", err); }); module.exports = connect;
const mongoose = require("mongoose"); const connect = () => { const id = 'XXXX'; const password = 'XXXX'; const dbName = 'XXXX'; const uri = `mongodb+srv://${id}:${password}@cluster0.XXXXXXX.mongodb.net/${dbName}?retryWrites=true&w=majority`; mongoose.connect( uri, { useNewUrlParser: true, ignoreUndefined: true, useUnifiedTopology: true, }, (error) => { if (error) console.log("Mongo DB Connect Error"); else console.log("Mongo Db Connect Success"); } ); }; // 몽구스 Connection에 이벤트 리스너를 삽입 // 에러 발생 시 에러 내용을 기록 mongoose.connection.on("error", (err) => { console.error("Mongo DB Connect Error", err); }); // 연결 종료 시 재연결을 시도한다. mongoose.connection.on('disconnected', () => { console.error("Mongo Db DisConnect. reconnect."); connect(); }) module.exports = connect;
moongoose.connect() 함수에 주렁주렁 옵션이 달린 것은 내게 시기상조라고 치더라도.
코드 가장 하단의 에러처리에 재연결 시도를 추가해 놓은 것은 눈여겨 보아야 한다.
또 저렇게 데이터 베이스 주소를 템플릿 리터럴로 만들어 놓으면 후에 id, password, 데이터베이스 이름만 바꿔가면 되니 참 편하지 않나.
'TIL WIL' 카테고리의 다른 글
TIL) 항해99 9기 후기 (1) 2022.12.19 2022_10_09 (0) 2022.10.09 2022_10_07 (0) 2022.10.07 2022_09_25 (1) 2022.09.25 2022_09_23 (1) 2022.09.23