-
글쓴이글
-
2022년 2월 28일 08:46 #28384
Michelle참가자-- server.js 파일입니다 --
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended:true}));const MongoClient = require('mongodb').MongoClient;
var db;
MongoClient.connect('mongodb+srv://admin:flwp12#@cluster0.ecin2.mongodb.net/todoapp?retryWrites=true&w=majority',function(에러, client) {
// if(에러) {return console.log(에러)};db = client.db('todoapp');
app.listen(8080, function() {
console.log('listening on 8080');
});
})
app.get('/pet', function(request, response) {
response.send('pet 페이지 입니다. 반갑습니다.')
})
app.get('/beauty', function(request, response) {
response.send('beauty 페이지입니다.')
})
app.get('/', function(request, response) {
response.sendFile(__dirname + '/index.html')
})
app.get('/write', function(request, response) {
response.sendFile(__dirname + '/write.html')
})app.post('/add', function(req, res) {
res.send('전송완료');
console.log(req.body.title)
console.log(req.body);
})--- 문제 --
db=client.db('todoapp')이부분을 넣기전까지는 서버가 잘 돌아갑니다.
접속 메세지도 콘솔에 잘 나오구요. 근데 이부분을 넣으면서부터 서버가 실행되지 않고있습니다. 아이디/비번도 정확하구요 오타도 다 확인해 봤습니다.
-- 에러 메세지 --
(node:74891) Warning: Accessing non-existent property 'MongoError' of module exports inside circular dependency
(Usenode --trace-warnings ...
to show where the warning was created)
/Users/user/Documents/205_스터디/004_node/todoapp/node_modules/mongodb/lib/utils.js:687
throw error;
^TypeError: Cannot read property 'db' of undefined
at /Users/user/Documents/205_스터디/004_node/todoapp/server.js:15:17
at /Users/user/Documents/205_스터디/004_node/todoapp/node_modules/mongodb/lib/utils.js:684:9
at /Users/user/Documents/205_스터디/004_node/todoapp/node_modules/mongodb/lib/mongo_client.js:226:23
at /Users/user/Documents/205_스터디/004_node/todoapp/node_modules/mongodb/lib/operations/connect.js:286:21
at parseSrvConnectionString (/Users/user/Documents/205_스터디/004_node/todoapp/node_modules/mongodb/lib/core/uri_parser.js:50:12)
at parseConnectionString (/Users/user/Documents/205_스터디/004_node/todoapp/node_modules/mongodb/lib/core/uri_parser.js:594:12)
at connect (/Users/user/Documents/205_스터디/004_node/todoapp/node_modules/mongodb/lib/operations/connect.js:284:3)
at /Users/user/Documents/205_스터디/004_node/todoapp/node_modules/mongodb/lib/mongo_client.js:225:5
at maybePromise (/Users/user/Documents/205_스터디/004_node/todoapp/node_modules/mongodb/lib/utils.js:681:3)
at MongoClient.connect (/Users/user/Documents/205_스터디/004_node/todoapp/node_modules/mongodb/lib/mongo_client.js:221:10)
[nodemon] app crashed - waiting for file changes before starting...
어제 결제하고 하루종일 재밌게 들었습니다. 여기에서 진도가 나가지 않아서 밤새 서치만 하다가 글 올려봅니다. 도움 부탁드립니다.몽고db는 강사님것과 똑같이 3.6.4 깔았구요. mac입니다.
노드몬은 그냥 설치하고는 실행이안되서 찾아보니
npx nodemon server.js 로 했더니 실행이 잘 되고 있습니다.바쁘시겠지만 한번 봐주시면 감사하겠습니다.
2022년 2월 28일 10:20 #28392
codingapple키 마스터접속 url이 틀린것 같습니다 cluster0.ecin2.mongodb.net/todoapp? 여기 todoapp 자리에 컬렉션이름말고 거기서 만든 데이터베이스 이름이 들어가있는지 잘 확인합시다
2022년 3월 3일 09:35 #28628
Michelle참가자네, 안녕하세요. 강사님 답변감사합니다.
강의중에 만드신 DB-name을 todoapp으로 하셔서 저도 똑같이 했거든요.
todoapp이 DB name이 아닌가요?
2022년 3월 5일 20:47 #28805
Michelle참가자강사님, 감사합니다.
그렇게 바꾸니까 서버가 정상적으로 실행됩니다~!1. 혹시 무슨 차이인지 간단하게 설명 부탁드려도 될까요 ^^
2. 그리고, db=client윗부분에
if(에러) {return console.log(에러)};
이 줄을 넣으면[nodemon] clean exit - waiting for changes before restart
위와같은 문구가 초록색으로 뜨면서 서버가 실행되지않습니다.
이부분 이유도 혹시 알 수있을까요?일단, if(에러) 이부분은 주석문 처리하고 공부 하겠습니다.
이부분 이후로 멈췄는데 강사님 덕분에 오늘 마저 할 수있겠습니다~! 감사합니다~!
2022년 3월 6일 10:59 #28837
codingapple키 마스터접속 url에 db이름이 표기되어있으면 .db('todoapp') 을 명시안해줘도 되나봅니다
if문은 db접속시 에러나면 중지하고 에러출력해달라는 뜻입니다 에러없으면 잘 실행될걸요
-
글쓴이글
- 답변은 로그인 후 가능합니다.