๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์‹œ๋„/Code-States

[D+125] Final Project : 5์ผ์ฐจ Mongo DB ํ•™์Šต

by ๐Ÿ‡๋ฐ•๋ด‰๋ด‰๐Ÿ‡ 2021. 2. 21.

 

 

D+125

-  Final Project : 5์ผ์ฐจ -

( Mongo DB ํ•™์Šต )

 


 

 

์˜ค๋Š˜์€ ์•ž์œผ๋กœ ์‚ฌ์šฉํ•ด์•ผํ•  ๋ชฝ๊ณ ๋””๋น„์— ๋Œ€ํ•ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ์•„๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณด์•˜๋‹ค.

 

์‚ฌ์‹ค ์ด์ „ First Project์—์„œ๋Š” ๋‚˜๋Š” mysql์„ ์‚ฌ์šฉํ•ด์™”๊ธฐ ๋•Œ๋ฌธ์—

Final Project์—์„œ๋„ ๊ฐ™์€ ์Šคํƒ์„ ์ œ๋Œ€๋กœ ์‚ฌ์šฉํ•ด๋ดค์œผ๋ฉด ํ•˜๋Š” ๋งˆ์Œ์ด ์žˆ์—ˆ์œผ๋‚˜,

Final Project OT์—์„œ๋„ ์ƒˆ๋กœ์šด ์Šคํƒ์„ ์‚ฌ์šฉํ•ด ๋ณผ ๊ฒƒ์„ ์ง€ํ–ฅํ•˜๊ธฐ๋„ ํ–ˆ๊ณ ,

๊ฐ™์€ ํŒ€์›๋ถ„๊ป˜์„œ๋„ mysql๋ณด๋‹ค๋Š” mongoDB๋ฅผ ์‚ฌ์šฉํ•ด๋ดค์œผ๋ฉด ํ•˜๋Š” ๋งˆ์Œ์„ ๊ฐ€์ง€๊ณ  ๊ณ„์…”์„œ

๋‚˜ ๋˜ํ•œ ๋ชจ๋ฅด๋Š” ๊ฒƒ ๋ณด๋‹จ ๊ฒฝํ—˜ํ•ด๋ณด๋Š”๊ฒƒ๋„ ๋‚˜์  ๊ฒƒ ์—†๋‹ค๊ณ  ๋Š๊ปด์„œ mongoDB๋ผ๋Š” ์ƒˆ๋กœ์šด ์Šคํƒ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ๋กœ ํ•˜์˜€๋‹ค.

 

์ผ๋‹จ ๋‚˜๋Š” ๋ชฝ๊ณ ๋””๋น„๋ผ๋Š”๊ฒƒ์„ ์œ ํŠœ๋ธŒ์—์„œ ์ง€๋‚˜๊ฐ€๋‹ค๊ฐ€ ๋ณธ ๊ฒƒ ๋ง๊ณ ๋Š”

ํ•œ ๋ฒˆ๋„ ๋ณธ์ ๋„ ์‚ฌ์šฉํ•ด ๋ณธ ์ ๋„ ์—†์–ด์„œ ์•ฝ๊ฐ„ ๋ง‰์—ฐํ•จ์„ ๋Š๋ผ๊ธฐ๋Š” ํ–ˆ์ง€๋งŒ

์˜คํžˆ๋ ค mongoDB๊ฐ€ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ํฐ ์ œ์•ฝ์ด ์—†์–ด์„œ ํŽธ๋ฆฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค๋ผ๋Š” ๋‚ด์šฉ์„ ๋ณด๊ณ  ์•ฝ๊ฐ„์˜ ํฌ๋ง์„ ๋Š๊ผˆ๊ณ  ใ…Žใ…Žใ…Ž

mysql์—์„œ ์‚ฌ์šฉํ•˜๋Š” ORM์˜ Sequelize์™€ mongoDB์—์„œ ์‚ฌ์šฉํ•˜๋Š” ODM mongoose์™€ ์€๊ทผํžˆ ๋น„์Šทํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋ณด๊ณ 

๊ทธ๋ž˜๋„ ์•„์˜ˆ ๋‹ค๋ฅธ ๊ฑด ์•„๋‹ˆ๊ตฌ๋‚˜๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

 

์„œ๋ก ์ด ๋„ˆ๋ฌด ๊ธธ์—ˆ๋‹ค.

 

์ผ๋‹จ์€ ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ์•„๋ณด๊ณ  ๊ตฌ์ฒด์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š”๊ฑด ํŒ€์›๋ถ„๊ณผ ํ•จ๊ป˜ ์ง„ํ–‰ํ•ด๋ณผ ์˜ˆ์ •์ด๋‹ค.

 

 


 

 

mongoDB

- NoSQL (Not Only SQL) ๋กœ ํ…Œ์ด๋ธ”์ด ํ•„์š”๊ฐ€ ์—†๊ณ , json ๊ฐ์ฒด ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

 

- ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋– ํ•œ ํ˜•์‹์ด๋“  json ์กฐ๊ฑด๋งŒ ๋งž์œผ๋ฉด ์—๋Ÿฌ์—†์ด ๋‹ค ๋“ค์–ด๊ฐ€ ๋ฒ„๋ ค์„œ ํ˜ผ๋™์ด ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

 

mongoose

- ODM (Object-Document Mapper)

 

- mongoDB์—์„œ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ json ํ˜•์‹์œผ๋กœ ์žฅํ™ฉํ•ด ๋ณด์ผ ์ˆ˜ ์žˆ๋Š”๋ฐ mongoose์— ์ฟผ๋ฆฌ ๋นŒ๋”๋กœ ์ œ๋ฒ• ๊ฐ„๊ฒฐํ•œ ์ฟผ๋ฆฌ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ด ์ง„๋‹ค.

 

- mongoDB๋ฅผ ์‚ฌ์šฉํ• ๋•Œ mySQL๊ณผ๋Š” ๋‹ฌ๋ฆฌ ๊ธฐ๋ณธ ํ‹€์ด ๋งˆ๋ จ๋˜์–ด ์žˆ์ง€ ์•Š์•„์„œ ์–ด๋– ํ•œ ๊ฐ’์„ ๋„ฃ์–ด๋„ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•„์„œ ์‚ฌ์šฉํ• ๋•Œ ์–ด๋ ค์›€์ด ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ mongoose๋ฅผ ํ†ตํ•ด์„œ ์Šคํ‚ค๋งˆ๋ฅผ ์‚ฌ์šฉํ•ด ์ฃผ์–ด์„œ DB์— ๋„ฃ๊ธฐ ์ „์— ๋จผ์ € ๊ฒ€์‚ฌ๋ฅผ ์ง„ํ–‰ํ•ด ์ฃผ์–ด์„œ ๋ฌธ์ œ ํ•ด๊ฒฐ์ด ์™„๋งŒํ•ด ์ง„๋‹ค.

 

- Sequelize์—์„œ id๋ฅผ ๋ฐ›์•˜๋˜ ๊ฒƒ ์ฒ˜๋Ÿผ mongoose๋„ _id๋ฅผ ๋ฐ›์œผ๋ฉฐ ์ด๋•Œ _id๋Š” Object id ์ด๋‹ค.

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€