D+128
- Final Project : 8์ผ์ฐจ -
( ์คํค๋ง์์ฑ์๋ฃ && ์ฒซ ์๋ฌ๋ฐ์ )
์ค๋์ ์ง๋ฌธ๊ฒ์ํ์ ์จ ๋ต๋ณ์ ํ ๋๋ก ์คํค๋ง ์์ฑ์ ์๋ฃํ์๋ค.
์์ง๋์ด ๋ถ์ ๋ต์ ์ผ๋จ ์ฐ๋ฆฌ๊ฐ ์์ฑํ ์คํค๋ง๋ ํฐ ๋ฌธ์ ๊ฐ ์์ด๋ณด์ด์ง๋ง
users๊ฐ ๋ด๊ณ ์๋ ์ ๋ณด๊ฐ schedules๊ฐ ๊ฐ์ง๊ณ ์๋ usersํ๋์ ์ ๋ณด๊ฐ users์ปฌ๋ ์ ์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๊ธฐ ๋๋ฌธ์
๋ง์ฝ users์ปฌ๋ ์ ์ ์ ๋ณด๊ฐ ๋ฐ๋๋ฉด schedules ์ปฌ๋ ์ ์ ์๋ users์ ํ๋์์ ๊ฐ์ด ๋ณ๊ฒฝ๋์ง ์์
์ถํ์ ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์ ์๋ค๋ ๊ฒ์ด์๋ค.
๊ทธ๋์ ์ฐ๋ฆฌ๋ ์ด ๋ฌธ์ ์ ์ ๋ํด์ ์ด๋ป๊ฒ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋๋ ์ฌ ์ง๋ฌธ์ ํ์๊ณ ,
mongoose์์ ์ปฌ๋ ์ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ค์ ํด ๋ฐ์ดํฐ๊ด๋ฆฌ๋ฅผ ํ ์ ์๋ค๋ ๋ต์ ์๋ ค์ฃผ์ จ๊ณ
์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฐ๋ฆฌ๋ ๋ชฝ๊ตฌ๋ฅผ ์ค์นํด ์คํค๋ง๋ฅผ ์์ฑํ์๋ค.
๋จผ์ mongoose๋ฅผ mongodb์ ์ฐ๊ฒฐํด ์ฃผ๋๋ฐ ์ด๋ ์ต์ ์ผ๋ก 2๊ฐ์ง๋ฅผ ๋ฃ์ด์ฃผ๋๋ฐ,
useNewUrlParser๋ฅผ ์ ์ด์ฃผ์ง ์์ผ๋ฉด ์๋ก์ด ํ์๋ฅผ ์ฌ์ฉํด๋ผ๋ผ๋ ์๋ฌ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ true๋ก ์ค์ ์ ํด์ค๋ค.
useUnifiedTopology๋ ์ ์๋ฒ ๊ฒ์ ๋ฐ ๋ชจ๋ํฐ๋ง ์์ง์ ์ฌ์ฉํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ ์ต์ ์ด๋ผ๊ณ ํ๋ค.
users ์ปฌ๋ ์ ๊ฐ์ ๊ฒฝ์ฐ๋ ์ผ๋จ ์ด๋ฏธ์ง ์ ๋ก๋์ ๊ด๋ จ๋ multer๋ ์ถํ์ ํ๊ธฐ๋ก ํ๊ณ
๋๋ค์, ์ด๋ฉ์ผ, ๋น๋ฐ๋ฒํธ ํ๋๋ฅผ ์ ์ํด ์ ๋์๋๋ ๊ฒ์ ํ์ธ ํ์๋ค.
์ด๋ ๋ฐ์ดํฐ๊ฐ ์์ฑ๋ ๋ ์๋์ผ๋ก Object id๊ฐ ์์ฑ๋๋ ๊ฒ์ ํ์ธํ์๊ณ ,
์ด๋ฅผ ํตํด API์์ ๊ฒฝ๋กํ๋ผ๋ฏธํฐ๋ฅผ nickname์ด ์๋ Object id๋ฅผ ๋ฃ์ด์ฃผ๊ธฐ๋ก ํ์๋ค.
Schedules๋ hashtag๋ ๋ฐฐ์ดํ์์ผ๋ก ์์ ๊ฐ์ฒด๋ฅผ ๋ฐ๋ ํ์์ผ๋ก ๋ณ๊ฒฝํด ์ฃผ์๋๋ฐ
์ด๋ ํด๋น hashtag์์ _id๊ฐ ์๋์ผ๋ก ์์ฑ๋๋๋ฐ ๋ถํ์ํด์ _id: false๋ฅผ ํตํด _id ์๋์์ฑ์ ์์ ์ฃผ์๋ค.
๊ทธ๋ฆฌ๊ณ userInfo์์ ref๋ฅผ ํตํด์ ์๋ก ์ฐ๊ฒฐ๋๋๋ก ์ค์ ํด ์ฃผ์๋ค.
์ด๋ ๊ฒ ํด์ ์คํค๋ง๊ฐ ์์ฑ๋์๊ณ ๊ฐ์ ํ์ด์ง๋ฅผ ๋งก์์ API๋ฅผ ๊ตฌํํ๊ธฐ๋ก ํ์๋๋ฐ
๋์๊ฒ ๋ฌธ์ ๊ฐ ์๊ฒจ๋ฒ๋ ธ๋ค.
req.body๋ฅผ ๋๋ฆฌ๋ฉด ์๊พธ ์๋ฌ๊ฐ ์๊ธฐ๋ ๊ฒ์ด๋ค.
๊ทธ๋์ ์ฝ์๋ก๊ทธ๋ก ๊ฐ์ ํ์ธํ๋๋ฐ undefined์ด๋ผ๊ณ ๋์ค๋ ๊ฒ์ด๋ค....
๊ทธ๋์ ์ด๊ฑฐ ํด๊ฒฐํ๋ค๊ณ ๋น์ผ๋ API ๊ตฌํ์ ๊ฑฐ์ 1๋ ๋ชปํ๋ค... ใ ใ
๊ทธ๋์ ๋ฉ๋๋ฆฌ๋ค๊ฐ express ์ฌ์ดํธ์ ๋ค์ด๊ฐ์ ํ์ธ์ ํ๋๋ฐ ์๋ฟ์ธ....
body-parser๊ฐ ์์ผ๋ฉด undefined๋ฅผ ๋ํ๋ธ๋ค๋ ๊ฒ์ ์๊ณ ์์๋ค.
๊ทธ๋์ ๊ธํ๊ฒ body-parser๋ฅผ ์ค์นํ๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์๋ค!!!
๊ทผ๋ฐ ๋จผ๊ฐ ์์ด๋ฌ๋ ํ๋๊ฒ express์์ body-parser๊ฐ ๋ด์ฅ๋์ด ์์ด์ ๋ฐ๋ก ์ค์น๊ฐ ํ์์๋ค๊ณ ๋ค์๋๋ฐ
์ ์๋์ง... ๋ค์ ๋ด์ฅ์ด ์๋์ด ๋ฒ๋ฆฐ ๊ฒ์ธ๊ฐ?!
์ผ๋จ์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ด์ ์์ ๋คํ์ด๋ค ใ ใ
์ค๋ ์๋ฒฝ์ ๋ถํ๋ ์ฝ๋ฉ์ผ๋ก API๋ฅผ ๊ตฌํํด์ผ๊ฒ ๋ค.
'์๋ > Code-States' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[D+130] Final Project : 10์ผ์ฐจ mongoose '$' update operator (0) | 2021.02.26 |
---|---|
[D+129] Final Project : 9์ผ์ฐจ ๋ณธ๊ฒฉ API ๊ตฌํ ์์ (2) | 2021.02.26 |
[D+127] Final Project : 7์ผ์ฐจ mongoDB ์คํค๋ง ์์ฑ (0) | 2021.02.23 |
[D+126] Final Project : 6์ผ์ฐจ API ๊ฒํ ๋ฐ ์ด๊ธฐ ๋ฐฐํฌ (0) | 2021.02.22 |
[D+125] Final Project : 5์ผ์ฐจ Mongo DB ํ์ต (0) | 2021.02.21 |
๋๊ธ