포시코딩

Node+Express 서버와 local MongoDB 연동하기 본문

Node.js

Node+Express 서버와 local MongoDB 연동하기

포시 2022. 10. 6. 20:16
728x90

* 이미 nodejs - express 서버를 실행할 수 있는 환경이 만들어져 있다는 전제하에 진행되는 포스팅입니다.

local에 있는 MongoDB 데이터가 위와 같이 있을 때,

nodejs 서버로 가져와보자

 

terminal

npm install mongodb

 

server.js

const express = require('express');
const app = express();
const path = require('path');

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

let db;
const db_uri = 'mongodb://localhost:27017';  // compass로 접속할 때 쓰이는 uri와 같다.
MongoClient.connect(db_uri, (error, client) => {
    if (error) {
        return console.log(error);
    } else {
        db = client.db(DB_NAME);  // DB_NAME에 연결할 DB 이름을 넣는다.
        app.listen(8080, () => {

            // DB 연동 테스트
            db.collection('test').find().toArray().then((result)=>{
                console.log(result);
            })
            // 'test'라는 collection에서 find()를 통해 모든 데이터를 가져오는 코드

            console.log('server on');
        })
    }
})

app.use( '/', express.static( path.join(__dirname, 'app/dist') ));
app.get('/', (req, res)=>{
    res.sendFile(path.join(__dirname, 'app/dist/index.html'));
})

* 추가된 코드들에 대해서는 주석참고

 

compass상에서 접속할 때 쓰이는 URI에 해당하는 정보

 

서버를 실행하면 콘솔창에 위와 같이

처음에 compass상에서 확인했던 데이터를 가져오는걸 확인할 수 있다.

728x90