inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

몽고디비 schemas/index.js 질문

해결된 질문

223

이태희

작성한 질문수 18

0

안녕하세요 몇일전에도 schemas/index.js 관련해서 질문을 드렸습니다.

답변처럼 오타가 있어서 되지않았습니다. 답변해주셔서 감사합니다.

그런데 로컬(개인피시)에서는 정상적으로 이제 작동을 합니다. 실제 서버에 배포를 했는데,      동일 한 오류가 발생합니다.

몽고디비 계정도 만들어서  툴로도 접속이 되는데 npm start를 하면 오류가 발생합니다. 

소스(./schemas/index.js)

const mongoose = require('mongoose');
const dotenv = require('dotenv');

dotenv.config();

const dbHost = process.env.DB_HOST;
const dbUser = process.env.DB_USER;
const dbPassword = process.env.DB_PASSWORD;
const dbPort = process.env.DB_PORT;
const dbName = process.env.DB_NAME;

const connect = () => {
    if (process.env.NODE_ENV !== 'production') {
        mongoose.set('debug', true);
    }

    mongoose.connect(`mongodb://${dbUser}:${dbPassword}@${dbHost}:${dbPort}/nodejs`, {
       dbName: dbName,
       useNewUrlParser: true,
       useCreateIndex: true, 
    }, (error) => {
        if (error) {
            console.log('몽고디비 연결 에러', error);
        } else {
            console.log('몽고디비 연결 성공!');
        }
    });
};

mongoose.connection.on('error', (error) => {
    console.error('몽고디비 연결 에러', error);
});

mongoose.connection.on('disconnected', () => {
    console.log('몽고디비 연결이 끊겼습니다. 연결을 재시도합니다.');
    connect();
});

module.exports = connect;

.env

NODE_ENV=production
PORT=3003
DB_HOST=localhost
DB_USER=nodejs
DB_PASSWORD=비밀번호
DB_PORT=27017
DB_NAME=nodejs                    

/etc/mongod.conf

..
net:
  port: 27017
  bindIp: 127.0.0.1 개인 아이피

..
security:
  authorization: enabled

오류내용

RangeError: Maximum call stack size exceeded
Exception in PromiseRejectCallback:
internal/process/promises.js:102
      handledRejection(promise);
      ^

RangeError: Maximum call stack size exceeded
Exception in PromiseRejectCallback:
internal/process/promises.js:102
      handledRejection(promise);
      ^

RangeError: Maximum call stack size exceeded
(node:6105) Warning: Accessing non-existent property 'MongoError' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
/home/lastride25/nodejs/learn-mongoose/node_modules/mongodb/lib/utils.js:687
          throw error;
          ^

RangeError: Maximum call stack size exceeded
    at WriteStream.getColorDepth (internal/tty.js:102:23)
    at console.value (internal/console/constructor.js:305:20)
    at console.value (internal/console/constructor.js:322:44)
    at console.log (internal/console/constructor.js:358:61)
    at NativeConnection.<anonymous> (/home/lastride25/nodejs/learn-mongoose/schemas/index.js:35:13)
    at NativeConnection.emit (events.js:315:20)
    at NativeConnection.set (/home/lastride25/nodejs/learn-mongoose/node_modules/mongoose/lib/connection.js:128:12)
    at /home/lastride25/nodejs/learn-mongoose/node_modules/mongoose/lib/connection.js:835:26
    at /home/lastride25/nodejs/learn-mongoose/node_modules/mongodb/lib/utils.js:684:9
    at /home/lastride25/nodejs/learn-mongoose/node_modules/mongodb/lib/mongo_client.js:226:23
    at /home/lastride25/nodejs/learn-mongoose/node_modules/mongodb/lib/operations/connect.js:286:21
    at parseConnectionString (/home/lastride25/nodejs/learn-mongoose/node_modules/mongodb/lib/core/uri_parser.js:615:12)
    at connect (/home/lastride25/nodejs/learn-mongoose/node_modules/mongodb/lib/operations/connect.js:284:3)
    at /home/lastride25/nodejs/learn-mongoose/node_modules/mongodb/lib/mongo_client.js:225:5
    at maybePromise (/home/lastride25/nodejs/learn-mongoose/node_modules/mongodb/lib/utils.js:681:3)
    at MongoClient.connect (/home/lastride25/nodejs/learn-mongoose/node_modules/mongodb/lib/mongo_client.js:221:10)

이와 같은 오류가 계속 발생하는 이유가 무엇일까요 ?

Sequelize nodejs mongodb mysql

답변 2

1

제로초(조현영)

maximum call stack size exceeded는 이전 질문에서 해결하지 않은 오류입니다. 이전 질문에서는 dbName만 해결했습니다.

저도 처음 보는 에러이긴 한데 useCreateIndex 아래에 다음 것 추가해보세요.

useUnifiedTopology: true, 

0

이태희

감사합니다!!!!! 좋은하루되세요!!

리눅스 노드 설치시 패키지

0

159

0

socket.js 에서 referer로부터 roomId를 가져올 때

0

904

3

스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문

0

2281

2

a[title] 질문드립니다

0

375

1

리뉴얼 강의 및 공부 방법

0

581

1

jwt decode

0

1128

1

node.js 교과서 3판 질문드립니다

0

391

1

passport와 jwt

0

432

1

리뉴얼 강의

0

417

2

혹시 Node.js 교과서 3판 이북은 언제 나오나요?

0

353

1

몽고디비 사용자도 MYSQL부분을 들어야 하나요???

0

481

1

sql 쿼리 로그는 어떤 모듈이 작성하나요?

0

505

2

nunjucks res.render('error'); 작동을 안합니다.

0

511

1

질문있습니다.

0

346

1

multer 한글 파일 업로드시 파일명이 깨져요.

1

3535

1

수업자료는 어디있나요?

0

366

1

질문 있습니디

0

235

1

multer 사용시 file 외 name값은 못받나용?

0

416

1

코드 중복 부분 질문드립니다.

0

298

1

api 만드는 이유 질문드립니다.

0

286

1

Strategy의 done에 대해 질문드립니다.

0

361

1

안녕하세요 fs 권한 관련 질문드립니다

0

445

1

시퀄라이즈 연결질문...

0

492

2

res.setHeader vs res.cookie

0

1784

3