본문 바로가기
Node.js/Node.js 이슈

[mongoose] MongooseServerSelectionError: connect ECONNREFUSED ::1:27017 에러 해결

by 응애~ 개발자 2023. 3. 6.
728x90
반응형
const mongoose = require('mongoose');

const connect = () => {
  if (process.env.NODE_ENV !== 'production') {
    mongoose.set('debug', true);
  }
  mongoose.connect('mongodb://id:pw@localhost:27017/admin', {
    dbName: DB이름,
    useNewUrlParser: true,
  }, (error) => {
    if (error) {
      console.log('mongoDB Connect Fail', error);
    } else {
      console.log('mongoDB Connect Success');
    }
  });
};

원인

 Node.js교과서 수업 들을때 몽고DB 연결할때 저 위같은 오류가 나오는 경우가 있다. 그 이유는 몽구스 6버전 부터는 ipv6로 읽어 오기 때문에 IPv6이면 0:0:0:0:0:0:0:1 또는 ::1로 읽어 온다. 

해결 방법

 실제 로컬에 몽고DB실행시킨는 로컬호스트는 IPv4 방식인 127.0.0.1:27017로 localhost → 127.0.0.1로 변경하면 끝이다.

const mongoose = require('mongoose');

const connect = () => {
  if (process.env.NODE_ENV !== 'production') {
    mongoose.set('debug', true);
  }
  mongoose.connect('mongodb://id:pw@127.0.0.1:27017/admin', {
    dbName: DB이름,
    useNewUrlParser: true,
  }, (error) => {
    if (error) {
      console.log('mongoDB Connect Fail', error);
    } else {
      console.log('mongoDB Connect Success');
    }
  });
};

참조

Nodejs 교과서
https://www.mongodb.com/community/forums/t/mongooseserverselectionerror-connect-econnrefused-127-0-0-1-27017/123421/5
728x90
반응형