node.js mongoose 연결

김지혜·2023년 6월 19일
0

Node.js

목록 보기
5/13
post-custom-banner

문제

mongoose 연결이 안 됨

해당 상황에서 터미널로 mongoose 연결이 안 됨

// models/index.js

const mongoose = require("mongoose");

// localhost의 27017 포트 번호로 MongoDB와 연결합니다.
// Database Name은 todo-demo 입니다.
mongoose
  .connect("mongodb://127.0.0.1:27017/todo-demo", {
    useNewUrlParser: true,
    useUnifiedTopology: true,
  })
  .then((value) => console.log("MongoDB 연결에 성공하였습니다."))
  .catch((reason) => console.log("MongoDB 연결에 실패하였습니다."));

const db = mongoose.connection;
db.on("error", console.error.bind(console, "connection error:"));

module.exports = db;

오류문

$ node app.js
서버가 켜졌어요!
MongoDB 연결에 실패하였습니다.
connection error: MongoServerSelectionError: connect ECONNREFUSED ::1:27017
    at Timeout._onTimeout (C:\Users\user\Desktop\to-do\node_modules\mongodb\lib\sdam\topology.js:278:38)
    at listOnTimeout (node:internal/timers:569:17)
    at process.processTimers (node:internal/timers:512:7) {
  reason: TopologyDescription {
    type: 'Unknown',
    servers: Map(1) { 'localhost:27017' => [ServerDescription] },
    stale: false,
    compatible: true,
    heartbeatFrequencyMS: 10000,
    localThresholdMS: 15,
    setName: null,
    maxElectionId: null,
    maxSetVersion: null,
    commonWireVersion: 0,
    logicalSessionTimeoutMinutes: null
  },
  code: undefined,
  [Symbol(errorLabels)]: Set(0) {}

해결

서버 주소 수정

문제

mongoose
  .connect("mongodb://localhost:27017/todo-demo", {
    useNewUrlParser: true,
    useUnifiedTopology: true,
  })

코드 수정

mongoose
  .connect("mongodb://127.0.0.1:27017/todo-demo", {
    useNewUrlParser: true,
    useUnifiedTopology: true,
  })

loclahost 부분 수정
=> 주소를 수정하여 다시 접속하는 것도 일종의 방법

post-custom-banner

0개의 댓글