Gorilla with Lion

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

Kim_gorilla

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

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

Gorilla-Kim/Project 2020. 3. 18. 01:33

 

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

 

๐Ÿ“Œ model ๋งŒ๋“ค๊ธฐ

์ด๋ฒˆ์—๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•ˆ์— ์ƒ์„ฑ๋  ๋ฐ์ดํ„ฐ๋“ค์˜ ํ‹€์„ ๋งŒ๋“ค์–ด์ค„๊ฒ๋‹ˆ๋‹ค.

์ด ํ‹€์„ model ์ด๋ผ๊ณ  ๋ถˆ๋Ÿฌ์š”. ์Œ.. ๋ญ๋ž„๊นŒ ์‚ฌ์šฉํ•ด๋ณธ ์‚ฌ๋žŒ์˜ ์ž…์žฅ์œผ๋กœ์„œ ๋ง์”€๋“œ๋ฆฌ์ž๋ฉด ์žฅ๊ณ ์˜ ORM๊ณผ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. ์•„๋‹ˆ ๋ชฝ๊ณ ๋””๋น„๋„ ORM์„ ์ง€์›ํ•ด์ค€๋‹ค๊ณ  ํ•˜๋„ค์š” ^^

 

์•„๋ฌดํŠผ! ํ•œ๋ฒˆ ๋งŒ๋“ค์–ด ๋ณด๋„๋ก ํ•˜์ฃ !

 

์šฐ๋ฆฌ๊ฐ€ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ์ง‘์–ด๋„ฃ์„์ง€๋ฅผ ์ƒ๊ฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ผ๋‹จ ์–ด๋–ค ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ฒƒ์ธ๊ฐ€๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

(์‚ฌ์‹ค ์ด๋Ÿฌํ•œ IT ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š”๊ฒƒ์€ ์„ค๊ณ„๋‹จ๊ณ„๊ฐ€ ์ •๋ง ์ค‘์š”ํ•ด์š”. ๋จผ์ € ์„ ์ˆ˜๋˜์–ด์•ผ ํ•˜๋Š” ๊ณผ์ •์ด์ง€๋งŒ, ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ณผ๊ฐํžˆ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ๋Š” ๋ฏธ๋ž˜์˜ ๋‚˜์—๊ฒŒ ๋งก๊ธฐ.. )

 

์ผ๋‹จ ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“ค ์„œ๋น„์Šค๋Š” ๊ฐ„๋‹จํ•œ TodoList ๋ฉ”๋ชจ์žฅ์„ ๋งŒ๋“ค๊ฒ๋‹ˆ๋‹ค.

๊ทผ๋ฐ ๋„ˆ๋ฌด ๊ฐ„๋‹จํ•˜๋ฉด ์žฌ๋ฏธ๊ฐ€ ์—†์œผ๋‹ˆ๊น, ํšŒ์›๊ฐ€์ž…์„ ํ†ตํ•ด ์œ ์ €๋ณ„ ๋ฉ”๋ชจ์žฅ์„ ๊ด€๋ฆฌํ•ด์ฃผ๊ณ  ๊ทธ๋ฃน์ƒ์„ฑ์„ ํ†ตํ•ด ๊ทธ๋ฃน๋ณ„ ๊ณตํ†ต ํ• ์ผ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ• ๊ฒŒ์š”.

 

์ž ๊ทธ๋Ÿผ ์–ด๋–ค ํ…Œ์ด๋ธ”๋“ค์ด ํ•„์š”ํ• ๊นŒ์š”?

  1. ์œ ์ € ํ…Œ์ด๋ธ” (ํšŒ์›๊ด€๋ฆฌ)
  2. Todolist ํ…Œ์ด๋ธ” (๋ฉ”๋ชจ๋“ค)
  3. ๊ทธ๋ฃน ํ…Œ์ด๋ธ” (๊ทธ๋ฃน์ •๋ณด)

์ •๋ฆฌํ•ด ๋ณด๋‹ˆ ์ด์ •๋„๊ฐ€ ๋ ๊บผ๊ฐ™๋„ค์š”. ์ถ”ํ›„ ํ•„์š”ํ•ด์ง€๋Š” ์ •๋ณด๋“ค์„ ๊ทธ๋•Œ๊ฐ€์„œ updateํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿผ ์œ ์ €ํ…Œ์ด๋ธ” ์ƒ์„ฑ์„ ์œ„ํ•œ ๋ชจ๋ธ์„ ๋งŒ๋“ค์–ด๋ณผ๊นŒ์š”? ์ด๋ฆ„์€ User ๋กœ ํ• ๊ฒŒ์š”.

๋ชจ๋ธ์„ ์ƒ์„ฑํ•˜๊ธฐ์ „์— ์ด ๋ชจ๋ธ๋“ค์„ ๊ด€๋ฆฌํ•  models๋ผ๋Š” ์ด๋ฆ„์˜ ํด๋”๋ฅผ dbํด๋”์•ˆ์— ์ƒ์„ฑํ•ด์ฃผ๊ณ  ๊ทธ์•ˆ์— User.js๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋„๋ก ํ• ๊ฒŒ์š”.

์ด์•ˆ์— ๋ชจ๋ธ์„ ์œ„ํ•œ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด๋„๋ก ํ• ๊ฒŒ์š”.

 

๋“ค์–ด๊ฐˆ ๋‚ด์šฉ์€ ๋‹‰๋„ค์ž„, ์ด๋ฉ”์ผ, ํŒจ์Šค์›Œ๋“œ, ๊ทธ๋ฆฌ๊ณ  ๊ณ„์ •์ƒ์„ฑ์‹œ๊ฐ„ ์ •๋„?

๋‹ค์Œ์˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

const mongoose = require('mongoose');

const User = new mongoose.Schema({
  displayName: String,
  email: String,
  password: String,
  createdAt: {
    type: Date,
    default: Date.now,
  },
});

module.exports = mongoose.model('User', User);

์œ ์ € ๋ชจ๋ธ์„ ๋งŒ๋“ค์—ˆ์œผ๋‹ˆ ๋‹ค์Œ์€ Todo ๋ชจ๋ธ์„ ๋งŒ๋“ค์–ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

(์ด๋ฆ„์€ Todo.js ๋ผ๊ณ  ํ• ๊ฒŒ์š”.)

 

์•ˆ์—๋“ค์–ด๊ฐˆ ๋‚ด์šฉ์€ Todo ์ œ๋ชฉ, ๋‚ด์šฉ, ์™„๋ฃŒ์—ฌ๋ถ€, ์ƒ์„ฑํ•œ์‚ฌ๋žŒ, ์ƒ์„ฑ์‹œ๊ฐ„ ์ •๋„?

๋‹ค์Œ ์‚ฌ์ง„์ฒ˜๋Ÿผ ๋งŒ๋“ค์–ด๋ณด๋„๋ก ํ• ๊ฒŒ์š”.

const mongoose = require('mongoose');

const Todo = new mongoose.Schema({
  title: String,
  content: String,
  complete: Boolean,
  user: { // ํ•ด๋‹น ๋ฉ”๋ชจ๋ฅผ ์ž‘์„ฑํ•œ User
    type: mongoose.Schema.Types.ObjectId,
    ref: 'User',
  },
  createdAt: {
    type: Date,
    default: Date.now,
  },
});

module.exports = mongoose.model('Todo', Todo);

์ด๋ ‡๊ฒŒ ๋ฉ”๋ชจ๋ฅผ ๋งŒ๋“ค๊ธฐ์œ„ํ•œ ๊ธฐ์ดˆ๋ชจ๋ธ์€ ๋‹ค ๋งŒ๋“ค์–ด์กŒ๊ณ , ๊ทธ๋ฃน์„ ๋งŒ๋“ค๊ณ  ๊ทธ๋ฃน๋ณ„ ํ• ์ผ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์€ ์œ ์ € ๊ธฐ๋Šฅ๊ณผ ์œ ์ €๋ณ„ ๋ฉ”๋ชจ๊ธฐ๋Šฅ์„ ๋‹ค ๋งŒ๋“  ๋‹ค์Œ์— ์ถ”๊ฐ€ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์—ฌ๊ธฐ๊นŒ์ง€ DB๊ด€๋ จ๋‚ด์šฉ์ด์—ˆ๊ตฌ ๋‹ค์Œ ํฌ์ŠคํŒ… ๋ถ€ํ„ฐ๋Š” ํŠน์ • ๊ฒฝ๋กœ๋กœ ์š”์ฒญ์‹œ ํšŒ์›๊ฐ€์ž…์ด ์ด๋ฃจ์–ด์ง€๋„๋ก Controller ์ž‘์„ฑ์ž‘์—…๋“ฑ์„ ์ง„ํ–‰ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์ˆ˜๊ณ ํ•˜์…จ์–ด์š”

 

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

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

[MEMO APP] Back-end/ REST API-Register (2)  (0) 2020.03.18
[MEMO APP] Back-end/ REST API-Register (1)  (0) 2020.03.18
[MEMO APP] Back-end/ DB์—ฐ๊ฒฐ (2)  (0) 2020.03.17
[MEMO APP] Back-end/ DB์—ฐ๊ฒฐ (1)  (0) 2020.03.16
[MEMO APP] Back-end/ ๋ผ์šฐํŒ… (2)  (0) 2020.03.15
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

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