24.10.06 22:04 작성
·
18
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( )에서의 내용 때문에 웹사이트는 작동되지 않는게 맞지 않나요...?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. allisha0508님.
여러 가지 이유로 MongoDB 연결 및 데이터 삽입이 실패할 수 있습니다. 주로 고려해야 할 몇 가지 사항을 알려드립니다.
MongoDB URL 확인:
MongoDB 클러스터 URL에서 “아이디”와 “비밀번호”는 정확해야 하며, 해당 사용자가 해당 데이터베이스에 접근 권한이 있는지 확인하십시오. 클러스터에 접근하려면 IP 화이트리스트 및 네트워크 설정도 확인해야 합니다.
콜백 구조 확인:
MongoClient.connect
메서드가 비동기적으로 동작하기 때문에 데이터베이스 연결이 성공적으로 이루어진 다음에만 데이터 삽입이 가능하다는 점을 명심하세요.
데이터베이스 및 컬렉션 생성 방법:
실제로는 데이터를 삽입할 때 MongoDB는 데이터베이스와 컬렉션을 자동으로 생성합니다. 하지만 코드 내에서 res.render("index")
호출을 데이터 삽입과 함께 진행해야만 웹 페이지가 제대로 동작합니다.
에러 메시지 확인:
MongoDB 연결이나 데이터 삽입 시 발생하는 에러 메시지를 꼭 확인하십시오. 에러 메시지는 문제의 원인을 식별하는 데 큰 도움이 됩니다. 예를 들면, 인증 오류가 발생하면 이는 자격 증명 문제일 수 있습니다.
포트 또는 네트워크 이슈:
네트워크가 MongoDB와 올바르게 연결될 수 있도록 방화벽이나 네트워크 설정을 점검하십시오.
다음은 관련 질문에서 도움을 받을 수 있는 URL입니다:
- “몽구스 모델 강의에서 에러가 발생했습니다”
- “axios 강의부분 부터 문제가 잇습니다”
이 URL에서 다른 사용자의 유사한 문제와 강사의 답변을 확인할 수 있습니다. 종류별로 다양한 해결책이 제시되어 있으니 참고해 보세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.