ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2022_10_07
    TIL 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
Designed by Tistory.