• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Node.js, Express 게시판 몽고디비연결시 에러문제

몽고디비연결시 에러문제

9 글 보임 - 1 에서 9 까지 (총 9 중에서)
  • 글쓴이
  • #44752

    박진석
    참가자
    const express = require('express')
    app.use(express.urlencoded({ extended: true }));
    const app = express()
    const MongoClient = require('mongodb').MongoClient
    MongoClient.connect('mongodb+srv://admin:qwer@cluster0.ewoewop.mongodb.net/todoapp?retryWrites=true&w=majority', function(에러, client){
      
      app.listen(8080, function() {
        console.log('listening on 8080')
      })
    })
    
    
    이렇게 실행했는데 자꾸
    
    에러가 나옵니다..
    [nodemon] restarting due to changes...
    [nodemon] starting `node server.js`
    C:\Users\user\Desktop\todoapp\server.js:2
    app.use(express.urlencoded({ extended: true }));
    ^
    ReferenceError: Cannot access 'app' before initialization
        at Object.<anonymous> (C:\Users\user\Desktop\todoapp\server.js:2:1)
        at Module._compile (node:internal/modules/cjs/loader:1126:14)
        at Object.Module._extensions..js (node:internal/modules/cjs/loader:1180:10)
        at Module.load (node:internal/modules/cjs/loader:1004:32)
        at Function.Module._load (node:internal/modules/cjs/loader:839:12)
        at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
        at node:internal/main/run_main_module:17:47
    [nodemon] app crashed - waiting for file changes before starting...
    #44767

    박진석
    참가자
    상단 코드에
    
    const MongoClient = require('mongodb')
    
    mongodb 이부분에 마우스를 갖다대면 
    
    모듈 'mongodb'에 대한 선언 파일을 찾을 수 없습니다. 'C:/Users/user/Desktop/todoapp/node_modules/mongodb/index.js'에는 암시적으로 'any' 형식이 포함됩니다.
     해당 항목이 있는 경우 'npm i --save-dev @types/mongodb'을(를) 시도하거나, 'declare module 'mongodb';'을(를) 포함하는 새 선언
    
    이게 뜹니다..
    #44775

    codingapple
    키 마스터
    npm install mongodb 하셨나요
    app.use(express 어쩌구는 더 밑으로 옮깁시다 
    
    #44791

    박진석
    참가자
    몽고디비 언인스톨 하고 다시 깔았는데도 안되네요 .. 하ㅜ
    
    
    ReferenceError: Cannot access 'app' before initialization
        at Object.<anonymous> (C:\Users\user\Desktop\todoapp\server.js:4:1)
        at Module._compile (node:internal/modules/cjs/loader:1126:14)
        at Object.Module._extensions..js (node:internal/modules/cjs/loader:1180:10)
        at Module.load (node:internal/modules/cjs/loader:1004:32)
        at Function.Module._load (node:internal/modules/cjs/loader:839:12)
        at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
        at node:internal/main/run_main_module:17:47
    [nodemon] app crashed - waiting for file changes before starting...
    #44816

    codingapple
    키 마스터
    app.어쩌구는 
    const app = express() 밑에있어야합니다
    
    #44828

    박진석
    참가자
    에러가 계속 뜨는데흠... npm install mongodb@3.6.4를 하면 require('mongo')
    밑에 점이 생겨요 이게 원인일까요?
    #44830

    박진석
    참가자
    const express = require('express');
    const app = express();
    app.use(express.urlencoded({extended: true}));
    const MongoClient = require('mongodb').MongoClient;
    MongoClient.connect('mongodb+srv://admin:qwer1234@cluster0.v62mpib.mongodb.net/?retryWrites=true&w=majority', function(에러, client){
        if (에러) return console.log(에러);
        app.listen('8080', function(){
          console.log('listening on 8080')
        });
      })
    app.listen(8080, function(){
        console.log('listening on 8080')
    });
    app.get('/pet', function(요청, 응답){
        응답.send('펫용품 쇼핑할 수 있는 페이지입니다.');
    });
    app.get('/beauty', function(요청, 응답){
        응답.send('뷰티용품 쇼핑할 수 있는 페이지입니다.');
    });
    app.get('/', function(요청, 응답){
        응답.sendFile(__dirname + '/index.html')
    });
    app.get('/write', function(요청, 응답){
        응답.sendFile(__dirname + '/write.html')
    });
    app.post('/add', function(요청, 응답){
        응답.send('전송완료')
        console.log(요청.body.title)
    });
    
    터미널에 오류가 이런식으로 나옵니다.
    
    [nodemon] 2.0.19
    [nodemon] to restart at any time, enter `rs`
    [nodemon] watching path(s): *.*
    [nodemon] watching extensions: js,mjs,json
    [nodemon] starting `node server.js`
    listening on 8080
    node:events:491
          throw er; // Unhandled 'error' event
          ^
    Error: listen EADDRINUSE: address already in use :::8080
        at Server.setupListenHandle [as _listen2] (node:net:1432:16)        
        at listenInCluster (node:net:1480:12)
        at Server.listen (node:net:1568:7)
        at Function.listen (C:\Users\user\Desktop\todoapp\node_modules\express\lib\application.js:635:24)
        at C:\Users\user\Desktop\todoapp\server.js:9:9
        at C:\Users\user\Desktop\todoapp\node_modules\mongodb\lib\utils.js:371:9
        at C:\Users\user\Desktop\todoapp\node_modules\mongodb\lib\mongo_client.js:138:17
        at connectCallback (C:\Users\user\Desktop\todoapp\node_modules\mongodb\lib\operations\connect.js:29:9)
        at C:\Users\user\Desktop\todoapp\node_modules\mongodb\lib\operations\connect.js:81:9
        at C:\Users\user\Desktop\todoapp\node_modules\mongodb\lib\sdam\topology.js:203:73
    Emitted 'error' event on Server instance at:
        at emitErrorNT (node:net:1459:8)
        at processTicksAndRejections (node:internal/process/task_queues:83:21) {
      code: 'EADDRINUSE',
      errno: -4091,
      syscall: 'listen',
      address: '::',
      port: 8080
    }
    #44866

    codingapple
    키 마스터
    8080에 이미 떠있다는뜻인데 에디터 다 끄고 다시 시작하면 잘됩니다
    #44976

    박진석
    참가자
    감사합니다 추석연휴잘보내십쇼 센세~.~
9 글 보임 - 1 에서 9 까지 (총 9 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠