๐ Front End Developer ์ Back End ๋์ ๊ธฐ ! ๐
์ด ๊ธ์ PROJECT LION : ํธ์ฝ์น ๊ฐ์ฌ๋์ ๊ฐ์๋ฅผ ๋ค์ผ๋ฉฐ ์ฐธ๊ณ ํ ๊ธ์ ๋๋ค.
์์ ์ค, ๊ฐ๋ฐ๊ณผ์ ์ ๋ฆฌ ๋ฐ issue๊ฐ ๋์๋ ๋ถ๋ถ๋ค์ ๊ณต์ ๋ฐ ๊ธฐ๋กํ๊ณ ์ ์์ฑํ๊ฒ ๋์์ต๋๋ค.
โ ๋ฑ๋ก๋ ์ํ์ list์์ ํ์ธ ํ ์ญ์ ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํด ๋ณด๋๋ก ํ๊ฒ ๋ค.
ํฐ logic์ ๊ตฌ์ํด๋ณด๋ฉด ์ํ ์ญ์ ๋ฅผ ์ํด ๋ฒํผ์ ํด๋ฆญ ์ ์ญ์ ํ๊ณ ์ ํ๋ ์ํ์ ๊ณ ์ id๊ฐ์ ๋งค๊ฐ๋ณ์๋ก ๋์ ธ์ฃผ๊ณ , ์ญ์ ๊ฐ ์งํ๋๋ ๊ณผ์ ์ด๋ค.
- ์ํ ์ญ์ API ์์ฑ
= ์ํ ์ญ์ ์์ฒญ์ ๋ฐ๊ธฐ ์ํด์๋ ์ฃผ์๋ฅผ ์์ฒญํด์ผ ํ๋ค. ์ญ์ ์ ๊ฒฝ์ฐ์๋ /product_id/delete ํ์์ ์ฃผ์๋ฅผ ์ง๋๊ณ ์๋ค.
๊ทธ ํ, delete ํจ์ ์์ฑ ๋ฐ ์ญ์ ์์ฒญ ์ ๋์ ธ์ค product_id ๋ผ๋ ๋งค๊ฐ๋ณ์๋ฅผ ์์ฑํ๋ค. product_id ๋ /product/ํน์ ์ํ1๊ฐ์ ๊ณ ์ ๋ฒํธ/delete ๋ฅผ ๋ํ๋ธ๋ค.= ํด๋น ๋๋ค์ผ๋ก ์์ฑ๋๋ ๊ณ ์ id๊ฐ์ ๋ํ๋ด๋ ๊ฒ์ด๋ค.
- delete_one ํจ์ ์์ฑ
-> controllers > product.py![](https://velog.velcdn.com/images/yohan-record/post/fa746002-f7fb-45e5-bc55-de498d7b9ded/image.png) -> models > product.py
= ํ๋์ products document ๋ฅผ ์ญ์ ํด ์ฃผ๋๋ฐ, ์ด๋ค document๋ฅผ ์ญ์ ํด ์ค๊ฒ์ธ๊ฐ์ ๊ดํ ๋ถ๋ถ์ ์์ฑํด ์ฃผ์ด์ผ ํ๋ค.์ฆ, _id ๊ฐ objectID๋ฅผ ๊ฐ์ง๊ณ ์๋ document ๋ฅผ ์ญ์ ํ ๊ฒ์ด๋ค.
ex) ํ๋์ด๋ํ๋ฅผ ์ญ์ ํ๊ณ ์ ํ๋ค๋ฉด objectId ๊ฐ 62e90f.....de ์ธ๊ฒ์ ์ญ์ ํ๊ฒ ๋ค๋ ๊ฒ์ด๋ค.
๐ ๋ํ, objectId๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ bson import ๊ฐ ํ์ํ๋ค.
-> from bson import ObjectId
- product_id ์ ๋ฌ
= ์ ๋ฌํ product_id ๊ฐ models > product.py ์ id๊ฐ ๋๊ณ , objectId์ ํฌํจ๋๊ณ _id๊ฐ objectID์ธ product document ํ๋๋ฅผ ์ญ์ ํ๊ฒ ๋๋ค.
- ์ญ์ ์์ฒญ ๋ฒํผ ์์ฑ
= ๊ณ ์ id๊ฐ์ ์ฃผ์๋ก ์์ฒญ์ํจ ์ญ์ ๊ธฐ๋ฅ์ด ํฌํจ๋ ๋ฒํผ ํ๋๋ฅผ ์์ฑ์ํจ๋ค.
- ์ญ์ ํ์ธ
= ์ญ์ ํ๊ณ ์ ํ๋ ์ํ์ ๊ณ ์ id๊ฐ์ด ์ฃผ์๊ฐ์ ์ถ๋ ฅ๋๋ฉด์ return text ์ญ์ ์ถ๋ ฅ๋์๋ค.
์ฆ, ์ญ์ ๋์๋ค๋ ์๋ฏธ์ด๋ฉฐ db์์์๋ ๋น์ฐํ ์ญ์ ๊ฐ ์๋ฃ๋์๋ค.
์ด๋ก์จ ์ญ์ ๊ธฐ๋ฅ๊น์ง ๋์ด ๋ฌ๋ค !๐
์ค์ง์ ์ผ๋ก ๋์๊ฐ๋ logic์ ํ์ ํ๋ฉฐ ๋ฏธ๋ฆฌ ํ๋ฒ ์์ ์ ํด๋ณด๊ณ , ํฌ์คํ ์ ํ๋ฉด์ ๋๋ฒ ์์ ์ ๊ฑฐ์น๋ ํจ์ฌ ๋ ๊น๊ฒ ์ดํด๊ฐ ๊ฐ๋ ๊ฒ ๊ฐ๋ค.
๋ค์์๊ฐ์๋ ์ํ ์ ๋ณด๋ฅผ ์์ ํด๋ณด๋๋ก ํ๊ฒ ๋ค.