[D+125] Final Project : 5์ผ์ฐจ Mongo DB ํ์ต
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 ์ด๋ค.