본문 바로가기

DB/MongoDB

[Nodejs/MongoDb] MongoDb 연결해서 데이터 불러오기

1. cmd 창에서 DB 생성

 

(1) MongoDB 접속

mongo "mongodb+srv://몽고디비주소" --username 아이디

mongodb+srv://아이디:비번@몽고디비주소?retryWrites=true&w=majority

 

(2) 데이터 추가

db.콜렉션이름.insert([{.insert([{키1:"내용1", 키2:"내용2"~~~}, {키1:"내용1", 키2:"내용2"~~~}])

 

(3) 데이터 조회

db.콜렉션이름.find()

 

2. MongoDB에 저장된 데이터를 확인

 

3. NodeJs에서 MongoDB에 저장된 데이터 연결

위 데이터를 불러와 사용하려면 아래 코드를 사용하면 됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
const express = require('express')
const path = require('path')
const PORT = process.env.PORT || 5000
const mongoose = require('mongoose');
var bodyParser = require('body-parser');
 
var app = express();
 
app
  .use(express.static(path.join(__dirname, 'public')))
  .set('views', path.join(__dirname, 'views'))
  .set('view engine''ejs')
  .get('/', (req, res) => res.render('pages/index'))
  .listen(PORT, () => console.log(`Listening on ${ PORT }`))
 
  //body-parser 등록
 
  //DB연결
  let url = "mongodb+srv://아이디자리:" + encodeURIComponent("비번자리")+"@주소자리/test"
  mongoose.connect(url, {useNewUrlParser: true, useUnifiedTopology: true, dbName:'test'}, function(err){
  console.log('err::' + err)
  });
 
  //다이어리 데이터모델 설정
  var Schema = mongoose.Schema;
 
  //데이터 형태는 {date, title, imgLIst, content}
  
  var dairySchema = new Schema(
    {date: String, title:String, imgList: StringcontentString}
)
 
//위와 같은 모델로 쓰기위해 변수 생성
var datas = mongoose.model('dairy', dairySchema,'콜렉션이름');
 
//다이어리 데이터 모델에 기반하여 저장된 전체 데이터를 불러옴->항목별 보기
datas.find(function(error, dairy){
  if(error){
    console.log("error::"+error);
  } else{
    dairy.forEach(function(row){
      console.log("data::" + row.title);
    });
  }
})
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs

 

+) 연결 방법

위에서 url 주소 찾으려면 아래 클러스터에서 Connect 버튼

처음 시작하는 분은 아래와 같이 안뜨고, IP주소랑 아이디 비번 설정해주시면 위와 같이 뜹니다. Choose a connection method를 누른 다음, 두번째 Connection Your Application에 들어가세요.

위에서  mongodb+srv://로 시작하는 부분을 node.js 코드부분에 복붙하면 됩니다. test는 dbName이고 뒤에는 무시해주세요. 이후 heroku local web을 띄우면 아래와 같이 DB에 저장된 내용을 불러옵니다.

'DB > MongoDB' 카테고리의 다른 글

[MongoDB] Error at connecting to MongoDb Atlas Server  (0) 2020.03.12