inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Express 튜토리얼 : 웹 서비스를 위한 핵심 API

(3강 1강의) mongoDB 연결 및 데이터베이스 생성이 안 돼요

110

allisha0508

작성한 질문수 1

0

몽고디비에 회원가입하고, 이제 js코드를 작성해(vscode에서) 몽고디비에서 데이터베이스 및 컬렉션을 생성시키는 과정을 따라가고 있었습니다.

 

강의 내용과 동일한 구조를 가지고 있고, 코드 작성은 똑같이 index.js에서 진행했습니다.

(또 패키지를 확인해본 결과 몽고디비는 잘 설치되어 있었구요)


const express = require("express");

const MongoClient = require("mongodb").MongoClient;

const app = express();

const port = 5000;

const MongoURL=

"mongodb+srv://아이디:비밀번호@chaehyun.f26fr.mongodb.net/Express?retryWrites=true&w=majority&appName=Chaehyun";

var db, post;

app.use(express.static("public"))

app.use(express.urlencoded({extended: false}))

//app.set( 'view engine' , 'pug' )

app.set('view engine' , 'ejs' )

app.get("/", (req, res) => {

  post.insertOne({

    제목 : "test",

    내용 : "test",

    날짜 : new Date(),

  })

  res.render("index")

});

 

app.post('/calculator', function(req,res){

  let result = Number(req.body.num1) + Number(req.body.num2);

  res.render("result", {result:result})

})

 

app.all("*", function(req,res){

  res.status(404).send("찾을 수 없는 페이지")

})

MongoClient.connect(MongoURL, (err, database) => {

  if(err){

    console.log(err);

    return;

  } else{

    app.listen(port, () => {

      console.log(`Example app listening on port ${port}`);

    });

    db = database.db("Express");

    post = db.collection("posts")

  }

})

이처럼 입력하였는데

몽고디비에선 데이터베이스와 컬렉션이 생성되지 않습니다...


그런데 수업에선 localhost:5000을 통해 -> 몽고디비의 데이터베이스 생성을 하시는 듯 해 보였습니다만, 애초에 app.get( )에서의 내용 때문에 웹사이트는 작동되지 않는게 맞지 않나요...?

express mongodb

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. allisha0508님.

여러 가지 이유로 MongoDB 연결 및 데이터 삽입이 실패할 수 있습니다. 주로 고려해야 할 몇 가지 사항을 알려드립니다.

  1. MongoDB URL 확인:
    MongoDB 클러스터 URL에서 “아이디”와 “비밀번호”는 정확해야 하며, 해당 사용자가 해당 데이터베이스에 접근 권한이 있는지 확인하십시오. 클러스터에 접근하려면 IP 화이트리스트 및 네트워크 설정도 확인해야 합니다.

  2. 콜백 구조 확인:
    MongoClient.connect 메서드가 비동기적으로 동작하기 때문에 데이터베이스 연결이 성공적으로 이루어진 다음에만 데이터 삽입이 가능하다는 점을 명심하세요.

  3. 데이터베이스 및 컬렉션 생성 방법:
    실제로는 데이터를 삽입할 때 MongoDB는 데이터베이스와 컬렉션을 자동으로 생성합니다. 하지만 코드 내에서 res.render("index") 호출을 데이터 삽입과 함께 진행해야만 웹 페이지가 제대로 동작합니다.

  4. 에러 메시지 확인:
    MongoDB 연결이나 데이터 삽입 시 발생하는 에러 메시지를 꼭 확인하십시오. 에러 메시지는 문제의 원인을 식별하는 데 큰 도움이 됩니다. 예를 들면, 인증 오류가 발생하면 이는 자격 증명 문제일 수 있습니다.

  5. 포트 또는 네트워크 이슈:
    네트워크가 MongoDB와 올바르게 연결될 수 있도록 방화벽이나 네트워크 설정을 점검하십시오.

다음은 관련 질문에서 도움을 받을 수 있는 URL입니다:
- “몽구스 모델 강의에서 에러가 발생했습니다”
- “axios 강의부분 부터 문제가 잇습니다”

이 URL에서 다른 사용자의 유사한 문제와 강사의 답변을 확인할 수 있습니다. 종류별로 다양한 해결책이 제시되어 있으니 참고해 보세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

강의가 검은 화면으로 나옵니다.

0

48

1

nosql -> sql 비교

0

34

1

studio 3t 설치시 문의

0

37

1

https://my-company.site/ 접속

0

61

3

map API

0

36

1

nodejs 터미널 인식

0

39

1

tailwind 1279부터 768까지 모바일형과 컴퓨터형의 컴포넌트가 같이 보임

0

49

3

notion 수정

1

55

1

미들웨어 체인 구현 보다가 생긴 궁금증에 대해 질문 드려요!

0

103

2

학습 방향성

0

75

1

9강에서 'Ch-9-1. GitHub 저장소 링크' 오류

0

69

1

tailwind 설치 명령어 관련 질문

0

64

2

넥스트 버젼 질문

0

77

2

로그인시 401 Unauthorized 오류가 뜹니다

0

89

1

프로젝트 실행이 되지 않아 menu API 테스트가 불가합니다 ㅠ

0

134

9

[해결]그랩님 답변 주세요.

0

160

2

font.html azure blob에 다시 올려줘야하는거 맞을까요?

0

45

1

질문] 에러처리 관련 문의

0

72

2

커넥션 min, max 설정과 관련하여

0

50

1

그랩님의 답변을 기다립니다/102강 전반적인 에러

0

141

2

mongoDB 어플리케이션 연결이 안됩니다...

0

326

1

myLogger 미들웨어가 작동하지 않는 경로가 있습니다.

0

394

1

npm 에러

1

324

2

5:30초때 app.post 부분 에러가 나요

1

418

1