Gorilla with Lion

๋ธ”๋กœ๊ทธ ์ด๋ฏธ์ง€

Kim_gorilla

๊ฒฝ๊ธฐ๋Œ€ ์ถœ์‹  ๋ฉ‹์‚ฌ์ธ์ด ์šด์˜ํ•˜๋Š” ์ฝ”๋”ฉ๋ธ”๋กœ๊ทธ

[MEMO APP] Back-end/ DB์—ฐ๊ฒฐ (2)

Gorilla-Kim/Project 2020. 3. 17. 17:33

 

๐Ÿ‘จ‍๐Ÿ’ป DB์—ฐ๊ฒฐ (2)

 

๐Ÿ“Œ MongoDB์™€ ์„œ๋ฒ„์•ฑ์„ ์—ฐ๊ฒฐ์‹œ์ผœ์ฃผ๊ธฐ.

 

์ง€๋‚œ๋ฒˆ ํฌ์ŠคํŒ…๋•Œ์—๋Š” MongoDB๋ฅผ ์„ค์น˜ํ•ด์ฃผ์—ˆ๊ณ  ์ด DB์™€ ์šฐ๋ฆฌ๊ฐ€ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๋Š” ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ์„ ๋„์™€์ฃผ๋Š” Mongoose๋ผ๋Š” ๋ชจ๋“ˆ๋„ ์„ค์น˜ํ•ด ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” mongoose๋ฅผ ์šฐ๋ฆฌ ์„œ๋ฒ„ํŒŒ์ผ์—์„œ ๋ถˆ๋Ÿฌ์˜ค๊ณ  ์‹ค์ œ๋กœ ์—ฐ๊ฒฐ๊นŒ์ง€ ํ•ด์ฃผ๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ•ด์ฃผ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

require('mongoose') ํ•œ๋‹ค์Œ์— index.js์—์„œ ์ง์ ‘์ ์œผ๋กœ ์—ฐ๊ฒฐ์‹œ์ผœ์ฃผ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์ง€๋งŒ, ์ด๋ ‡๊ฒŒ ๋ชจ๋“  ์ž‘์—…๋“ค์„ ํ•œ ํŒŒ์ผ์—์„œ ์ž‘์„ฑํ•˜๋ฉด์€ index.js ์†Œ์Šค์ฝ”๋“œ๊ฐ€ ๊ธธ์–ด์ ธ์„œ ๋ชจ๋“  ๊ตฌ์กฐ๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์–ด๋ ค์›Œ์งˆ ๋ฟ๋”๋Ÿฌ ๊ด€๋ฆฌ๊ฐ€ ์–ด๋ ค์›Œ์ง€๊ธฐ ๋•Œ๋ฌธ์— DB์™€ ๊ด€๋ จ๋œ ์ž‘์—…์€ src ํด๋”์•ˆ์— dbํด๋”๋ฅผ ๋งŒ๋“ค์–ด์„œ ๊ทธ ์•ˆ์—์„œ ์ž‘์—…์„ ํ•ด์ฃผ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์ƒˆ๋กœ ์ƒ์„ฑํ•œ db ํด๋”์•ˆ์—๋Š” index.js ํŒŒ์ผ์ด ์žˆ๊ณ  ์ด ํŒŒ์ผ์—์„œ๋Š” DB ์—ฐ๊ฒฐ๊ณผ ํ•ด์ œ์™€ ๊ด€๋ จ๋œ ํ•จ์ˆ˜๋“ค์„ ์ž‘์„ฑํ•ด ์™ธ๋ถ€์—์„œ ์‰ฝ๊ฒŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๋งŒ๋“ค์–ด ์ฃผ๊ฒ ์Šต๋‹ˆ๋‹ค.

(์ด๋ ‡๊ฒŒ ํ•˜๋Š” ์ด์œ ๋Š”, DB์— ์ ‘๊ทผ์„ ํ•œ ํŒŒ์ผ์—์„œ๋งŒ ๊ฐ€๋Šฅํ•œ๊ฒŒ ์•„๋‹ˆ๋ผ ํ•„์š”์— ๋”ฐ๋ผ ์žฌ ์ƒˆ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์†Œ์Šค์ฝ”๋“œ๋กœ ๋งŒ๋“ค์–ด ๋‹ค๋ฅธ๊ณณ์—์„œ๋„ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅ์ผ€ ํ•˜๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค.)

const mongoose = require('mongoose');

const mongoUri = 'mongodb://localhost:27017/whereCar';

module.exports = (function () {
  mongoose.promise = global.Promise;

  return {
    connect() {
      mongoose.connect(mongoUri, {
        useNewUrlParser: true,
        useUnifiedTopology: true,
      }).then(
        () => {
          console.log('โœ…  Successfully connected to mongodb!');
        },
      ).catch((e) => {
        console.error(e);
      });
    },
  };
}());

mongoose๋Š” connect๋ผ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ง€์›ํ•ด์ฃผ๋ฉฐ, ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์œผ๋กœ๋Š” ํ•ด๋‹น DB์˜ ์œ„์น˜๊ฐ’์„(mondoUri) ๋„ฃ์–ด์ฃผ๊ณ  ๊ทธ ๋‹ค์Œ์—๋Š” ์—ฌ๋Ÿฌ ์˜ต์…˜๋“ค์„ ๋„ฃ์–ด์ฃผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

์œ„์˜ ํ•จ์ˆ˜๋Š” ์ผ๋ฐ˜ ๋ฐฉ์‹๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ connectํ•จ์ˆ˜๊ฐ€ ๋น„๋™๊ธฐ์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค๋Š” ํŠน์„ฑ์„ ์ด์šฉํ•˜์—ฌ [.then] ๊ณผ [.catch] ๋ผ๋Š” ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์—ฐ๊ฒฐ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ด๋ฃจ์–ด์กŒ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ™”๋ฉด์— ๋„์›Œ์ฃผ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

 

์กฐ๊ธˆ ์•„์‰ฌ์šด์ ์€ mongoUri ์™€ ๊ฐ™์ด ์™ธ๋ถ€์— ์•Œ๋ ค์ ธ์„œ ์•ˆ๋˜๋Š” ๋ถ€๋ถ„๋“ค ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ถ€๋ถ„์„ .env ํŒŒ์ผ๋กœ ์˜ด๊ฒจ์„œ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด์ œ src ํด๋” ์•ˆ์— index.js์—์„œ ์šฐ๋ฆฌ๊ฐ€ ๋ฐฉ๊ธˆ ์ž‘์„ฑํ•œ ํŒŒ์ผ๋งŒ ํ˜ธ์ถœํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์•„๋ž˜์˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ ๋ง์ด์ฃ 

์ด์ œ ๋‹ค์‹œํ•œ๋ฒˆ ์„œ๋ฒ„๋ฅผ ์‹คํ–‰์‹œ์ผœ ๋ณด๋„๋กํ• ๊ฒŒ์š”.

์•„๋ž˜์˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ mongoDB๊ฐ€ ์—ฐ๊ฒฐ์ด ์„ฑ๊ณตํ–ˆ๋‹ค๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ๋œฌ๋‹ค๋ฉด ์„ฑ๊ณต์ž…๋‹ˆ๋‹ค.

์—ฌ๊ธฐ๊นŒ์ง€๊ฐ€ DB์—ฐ๊ฒฐ์„ํ•˜๋Š” ์ž‘์—…์ด์—ˆ๊ณ  ๋ฌด์‚ฌํžˆ ์ด๋ฅผ ๋งˆ์น˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ  DB๊ด€๋ จ ์ž‘์—…์ด ๋ชจ๋‘ ๋๋‚œ๊ฒƒ์€ ์•„๋‹ˆ๋ž๋‹ˆ๋‹ค.

 

DB๊ด€๋ จ ์„ค๊ณ„์ž‘์—…์„ ํ•ด์ฃผ์–ด์•ผํ•˜๋Š”๋ฐ์š”. ๋ณดํ†ต์€ ์Šคํ‚ค๋งˆ ์„ค๊ณ„๊ฐ™์€๊ฒƒ๋“ค์„ ํ•ด์ฃผ์–ด์•ผ ํ•˜์ง€๋งŒ... 

์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•  mongoDB๋Š” ๋‹ค๋ฅธ DB์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ์Šคํ‚ค๋งˆ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์™œ ์—†๋Š”๊ฐ€๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ๋ณด๋‹จ ์ด๋ฅผํ†ตํ•ด ์–ป๋Š” ์ด์ ์„ ๋ง์”€๋“œ๋ฆฌ์ž๋ฉด, ๊ฐ์ฒด๋‚˜ ๋ฆฌ์ŠคํŠธ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ํ•œ ์นผ๋Ÿผ์— ์ €์žฅ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์ด์ฃ .

 

์Šคํ‚ค๋งˆ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋Œ€์‹ ์— mongoDB๋Š” model์ด๋ผ๋Š” ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ถ”๊ฐ€๋  ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ํ˜•์‹(ํ‹€)์„ ์ง€์ •ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

๊ณ ๋กœ ๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ ์ด๋Ÿฌํ•œ ์ž‘์—…๋“ค์„ ํ•ด์ฃผ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Gorilla-Kim > Project' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[MEMO APP] Back-end/ REST API-Register (1)  (0) 2020.03.18
[MEMO APP] Back-end/ DB์—ฐ๊ฒฐ (3)  (0) 2020.03.18
[MEMO APP] Back-end/ DB์—ฐ๊ฒฐ (1)  (0) 2020.03.16
[MEMO APP] Back-end/ ๋ผ์šฐํŒ… (2)  (0) 2020.03.15
[MEMO APP] Back-end/์„œ๋ฒ„๊ตฌ์ถ• (2), ๋ผ์šฐํŒ… (1)  (0) 2020.03.13
Posted by Kim_gorilla

๊ณต์ง€์‚ฌํ•ญ

  • ๋ฉ‹์Ÿ์ด ์‚ฌ์ž์ฒ˜๋Ÿผ ๊ณต์‹๋ธ”๋กœ๊ทธ ์ด์ „
๋ธ”๋กœ๊ทธ ์ด๋ฏธ์ง€

๊ฒฝ๊ธฐ๋Œ€ ์ถœ์‹  ๋ฉ‹์‚ฌ์ธ์ด ์šด์˜ํ•˜๋Š” ์ฝ”๋”ฉ๋ธ”๋กœ๊ทธ

by Kim_gorilla

ยซ   2025/06   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
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
๋ฐฉ๋ช…๋ก : ๊ด€๋ฆฌ์ž : ๊ธ€์“ฐ๊ธฐ
Kim_gorilla's Blog is powered by daumkakao
Skin info material T Mark3 by ๋ญํ•˜๋ผ
favicon

Gorilla with Lion

๊ฒฝ๊ธฐ๋Œ€ ์ถœ์‹  ๋ฉ‹์‚ฌ์ธ์ด ์šด์˜ํ•˜๋Š” ์ฝ”๋”ฉ๋ธ”๋กœ๊ทธ

  • ํƒœ๊ทธ
  • ๋งํฌ ์ถ”๊ฐ€
  • ๋ฐฉ๋ช…๋ก

๊ด€๋ฆฌ์ž ๋ฉ”๋‰ด

  • ๊ด€๋ฆฌ์ž ๋ชจ๋“œ
  • ๊ธ€์“ฐ๊ธฐ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (63)
    • ์‚ฌ์ง„์ฒฉ (1)
      • ๊ธฐํƒ€ (1)
    • Util (8)
      • ํ™˜๊ฒฝ์„ค์ • (6)
      • Error (0)
      • Demo (1)
    • HTML (1)
      • ๊ต์œก์ž๋ฃŒ (1)
      • ์‘์šฉ์ž๋ฃŒ (0)
    • CSS (2)
      • ๊ต์œก์ž๋ฃŒ (0)
      • ์‘์šฉ์ž๋ฃŒ (2)
    • Python (9)
      • ๊ธฐ์ดˆ๋ฌธ๋ฒ• (4)
      • Django (4)
      • Tensorflow (1)
    • bootstrap (5)
      • ์‹œ์ž‘ํ•˜๊ธฐ (4)
    • Javascript (5)
      • React.js (0)
      • AJAX (1)
      • ์ด๋ก  (2)
    • Gorilla-Kim (20)
      • Project (16)
      • TIL (4)
    • STUDY (0)
      • Algorithm (0)
      • Software-Engineering (0)
      • DataBase (0)
    • IT ๋ฐฑ๊ณผ์‚ฌ์ „ (7)
      • ์•Œ์“ธ์‹ ์žก (0)
      • WEB ๊ด€๋ จ (7)

์นดํ…Œ๊ณ ๋ฆฌ

PCํ™”๋ฉด ๋ณด๊ธฐ ํ‹ฐ์Šคํ† ๋ฆฌ Daum

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”