D+130
- Final Project : 10์ผ์ฐจ -
( ๋ป๋ฐ์ ์ต๊ณ ๋์ด๋ )
์ค๋์ ์ด์ ์ ๋ ์ ๋ํ ๊ธฐ๋ก๋ถํฐ ํ์๋ฉด ๋ด๊ฐ ์์ฑํ ์ค์ผ์ค์ ์์ ํ๋ API์
์๋ก ์์ฑํ ์ค์ผ์ค์ ์ ์ฅํ๋ API๋ฅผ ๊ตฌํํ์๋๋ฐ
์ด๋ ์ค์ผ์ค์ ์์ ํ๋ API๋ฅผ ์ฒ์์๋ PATCH๋ก ์ค์ ์ ํด์คฌ์๋๋ฐ
์ค์ผ์ค์์ ๋ฐ์์ค๋ ์ ๋ณด์ ์๊ณผ ์ข ๋ฅ๊ฐ ๋๋ฌด ๋ค์ํ๊ณ ๋ณ๊ฒฝ์ฌํญ์ ์ผ์ผํ ์ฐพ๋๋ฐ ๋ ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆด ๊ฒ ๊ฐ์์
ํ์ฅ๋๊ณผ ์์ ๋์ PATCH์์ ๊ทธ๋ฅ ์ ์ฒด์ ์ผ๋ก ์ ๋ณด๋ฅผ ๋ฐ์์ค๋ PUT์ผ๋ก ๋ณ๊ฒฝํ์ฌ ๊ตฌํํ์๋ค.
์๋ก์ด ์ค์ผ์ค์ ์ ์ฅํ๋ API๋ ์ผ๋จ ์์ฑํ๊ธฐ๋ ํ์ผ๋
ํ๋ก ํธ์๋ ๋ถ๋ค๊ณผ ์ด๋ป๊ฒ ์ ๋ณด๋ฅผ ๋ฐ์์ฌ์ง์ ๋ํ ์์๋ฅผ ๊ตฌ์ฒด์ ์ผ๋ก ํ์ง ์์์
ํด๋น API๋ ์ฝ๋๋ฅผ ๊ตฌํํ๊ธฐ๋ ํ์ผ๋ ํ๋ก ํธ์๋ ๋ถ๋ค์ด ๊ธฐ๋ฅ ๊ตฌํ์ ํ์ ์ดํ์
๋ค์ ์์ํ๊ธฐ๋ก ๊ฒฐ์ ํ์๋ค.
๊ทธ๋ฆฌ๊ณ ์ด์ ๋ถํฐ ๋ป๋ฐ์ ์ต๊ณ ๋์ด๋๋ฅผ ์๋ํ๋ API๊ฐ ๋ฑ์ฅํ๊ฒ ๋๋๋ฐ
๋ฐ๋ก ์ข์์/์ซ์ด์ API์ด๋ค.
์ฌ์ค ์ด๊ฑฐ๋ ์ฒ์์ ๋จ์ํ ์ข์์ ์ซ์ด์์ ๋ํ ์ซ์๋ง ๋ฐ์ผ๋ฉด ๋๊ฒ ๋ค๋ก ์๊ฐํด์
ํฐ ์ด๋ ค์์ด ์์ ๊ฑฐ๋ผ๊ณ ์๊ฐ์ ํ๋๋ฐ ํ์ฌ๊น์ง ๊ตฌํํ ๊ฒ๋ค์ค์ ์ ์ผ ์ด๋ ค์ด ๊ฒ ๊ฐ๋ค.
์ผ๋จ ์ด API๋ ํ์ฅ๋์ด ์์ฑํ์๋ API๋ก
์ด์ ์ ์ซ์๋ก ๋ฐ์๋ ์ข์์/์ซ์ด์๋ฅผ ๋๊ตฐ๊ฐ ์ค๋ณต์ผ๋ก ๋ง์ด ๋๋ฅด๋ฉด ์๋๊ธฐ ๋๋ฌธ์
๋๊ฐ ๋๋ ๋์ง์ ๋ํ ์ ๋ณด๋ ๋ฃ์ด์ผ ํ ๊ฒ ๊ฐ์ผ๋
๋ฐฐ์ด์์ ๊ฐ์ฒดํ์์ผ๋ก ๋ฃ์ด์ผํ ๊ฒ ๊ฐ๋ค๋ ๊ฒ์ ์ด๋ฏธ ์ ๋ฌ ๋ฐ์ ์ํ๋ผ
์ด๋์ ๋๋ ์ธ์งํ ์ํ์๋ค.
๊ทธ๋ฐ๋ฐ ๋ฌธ์ ๋ ๋ฐฐ์ด์์ ๊ธฐ์กด์ ์๋ ๊ฐ์ ์ถ๊ฐ๋ก ๋ฃ๋ ๋ฐฉ๋ฒ๊ณผ
๋ง์ฝ ๊ฐ์๊ธฐ ์ข์์๋ฅผ ๋๋ ๋ ์ฌ๋์ด ์ซ์ด์๋ฅผ ๋๋ ์ ๊ฒฝ์ฐ ๊ฐ์ด ์ ๋ฐ์ดํธ ๋์ด์ผํ๋ ์ ,
๊ทธ๋ฆฌ๊ณ ์ข์์๋ ์ซ์ด์๋ฅผ ๋๋ฅธ ์ฌ๋์ด ์ทจ์ํ์ ๊ฒฝ์ฐ์ ์์ ๋ฐ์ดํฐ๊ฐ ์์ ์ญ์ ๋์ด์ผ ํ๋ค๋ ๊ฒ์
๊ตฌํํ๋ค๋๊ฒ ์ฒ์์ธ ์ฐ๋ฆฌ์๊ฒ ์๋นํ ์ด๋ ค์ด ๋ฌธ์ ์๋ค.
๊ทธ๋์ ์ด ๋ฌธ์ ์ ๋ํ๊ฑด ๊ฐ์ด ํด๊ฒฐํด ๋ณด๊ธฐ๋ก ํ์๋ค.
๊ทธ์ ์ ์ฐ๋ฆฌ๊ฐ ๋จผ์ ํด๊ฒฐํด์ผํ ๊ฒ์ bestWorst์์ ์๋ userInfo๋ฅผ ์ด๋ป๊ฒ ์ฐพ์๋ด๋๋ ๊ฒ์ด์๋ค.
๋ฐฐ์ด์์ ์๋ ๊ฐ์ฒด ์ค์์ ๋ฑ ํด๋น userInfo๋ฅผ ๊ฐ์ง ์ ๋ณด๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ ์ฐพ๋ ๋ฐฉ๋ฒ์ ์ฐพ๋ค๊ฐ
์ด๋ฐ์์ผ๋ก ๋ง์ฝ "ํ๋.ํค๊ฐ" ํ์์ผ๋ก ๊ฒ์ํ๋ฉด ์ฐพ์ ์ ์๋ค๋ ๊ฒ์ ์๊ฒ๋์๋ค.
์๋ก๋ค๋ฉด bestWorst์ userInfo๊ฐ "abcd"์ธ ๊ฐ์ ์ฐพ๊ณ ์ถ๋ค๋ฉด
"bestWorst.userInfo" = "abcd"
์ด์ฒ๋ผ ์์ฑํ๋ฉด ๋๋ค๊ณ ํ๋ค.
๋ํ update๋ฅผ ํ ๋์๋ ๋จ์ํ ์ (.)๋ง ์ ๋ ฅํ๋ ๊ฒ์ด ์๋๋ผ
".$."๋ฅผ ์ ๋ ฅํด์ฃผ์ด์ผ ํ๋ค๋ ๊ฒ๋ ์๊ฒ ๋์๋ค.
๊ทธ๋์ ์ฐ๋ฆฌ๋ ์ด ํํธ๋ฅผ ๋ฐํ์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ์๋ค.
์ผ๋จ์ ์ด๋ฏธ ์ข์์์ ์ซ์ด์๋ฅผ ๋๋ฅธ ๊ธฐ๋ก์ด ์๋์ง ํ์ธํ ๋ค์์
๊ธฐ๋ก์ด ์์ ๊ฒฝ์ฐ์ ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํด ์ฃผ๋ ๋ฐฉ์์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ์๋ค.
์ด๋ ๊ธฐ์กด์ ์๋ ๋ฐ์ดํฐ ๊ฐ๋ค์ ์ถ๊ฐํ๊ธฐ ์ํด์ $push๋ฅผ ์ฌ์ฉํด์ฃผ์ด์ผ ํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ฏธ ๋๋ ๋ ์ฌ๋์ธ๋ฐ ๊ฐ์๊ธฐ ๋ง์์ด ๋ฐ๋์ด ์ข์์์์ ์ซ์ด์๋ฅผ ๋๋ฅธ๋ค๊ฑฐ๋
์์ ๊ฐ์ ์ทจ์ํด ๋ฒ๋ฆฌ๋ ๊ฒ์ ์ฒ๋ฆฌํด ์ฃผ๊ธฐ ์ํด์
$set์ ์ฌ์ฉํด ๊ธฐ์กด์ ์๋ ๊ฐ์ ๋ณ๊ฒฝํด ์ฃผ๋ ๋ฐฉ์์ผ๋ก ๊ฐ์ ์ฒ๋ฆฌํด ์ค๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ ์ข์์์ ์ซ์ด์๋ฅผ ๋ชจ๋ ์ทจ์ํ ์ฌ๋๊ฐ์ ๊ฒฝ์ฐ์ ๋์ด์ ํด๋น ์ค์ผ์ค๊ณผ ๊ด๊ณ๊ฐ ์์ด์ง๊ธฐ ๋๋ฌธ์
bestWorstํ๋์์ ๊ฐ์ ์์ ์ ๊ฑฐํด ์ฃผ๊ธฐ ์ํด์
bestWorst์์ best์ worst๊ฐ ๋ชจ๋ 0์ธ ๊ฐ์ ์ฐพ์ $pull์ ์์ผ์ฃผ์๋ค.
์ด๊ฑธ ๊ตฌํํ๊ธฐ ์ํด์ ์ผ๋ง๋ ๊ฒ์์ ๋ง์ด ํ๋์ง....
์๊ฐ๋ ์ข ๊ฑธ๋ฆฌ๊ธฐ๋ ํ๋๋ฐ ๊ทธ๋๋ ์์ ๋ฟ๋ฏ...ใ ใ ใ ใ
์ข์์/์ซ์ด์ API๋ฅผ ๊ตฌํํ ์ดํ์
๋ด ํ์ ์ ๋ณด๋ฅผ ์ฐพ์๋ด๋ myInformation API๋ฅผ ๊ตฌํ์ ์๋ฃํ์๋ค.
( GET์ด๋ผ์ ํฐ ๋ฌธ์ ์์ด ๋ฐ๋ก ํด๊ฒฐ ๋๋ฑ! )
๊ทธ๋ฆฌ๊ณ ํ์ฅ๋๊ณผ ๊ฐ์ ์ฃผ๋ง๊น์ง ๋งก์ API๋ฅผ ๋ค ํด์ค๊ธฐ๋ก ํ์๋ค.
์ผ๋จ ๋๋ ํ์ํํด API์ ๋ก๊ทธ์์ API๋ฅผ ๊ตฌํํ ์์ ์ด๋ค.
์ด๋ฒ ์ฃผ๋ง๋ ํ๋ด์ ๋น ์ค!
'์๋ > Code-States' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[D+132] Final Project : 12์ผ์ฐจ JWT(JSON Web Token) ํ์ต (0) | 2021.02.28 |
---|---|
[D+131] Final Project : 11์ผ์ฐจ ํ์ํํด, ๋ก๊ทธ์์ API (0) | 2021.02.27 |
[D+129] Final Project : 9์ผ์ฐจ ๋ณธ๊ฒฉ API ๊ตฌํ ์์ (2) | 2021.02.26 |
[D+128] Final Project : 8์ผ์ฐจ ์คํค๋ง์์ฑ && body-parser ์๋ฌ (0) | 2021.02.25 |
[D+127] Final Project : 7์ผ์ฐจ mongoDB ์คํค๋ง ์์ฑ (0) | 2021.02.23 |
๋๊ธ