jehakim22oct8641
@jehakim22oct8641
Reviews Written
-
Average Rating
-
Posts
Q&A
findCatByIdWithoutPassword ํจ์ ๋ฆฌํด ํ์ ์ง๋ฌธ
์ ๋ ๊ทธ ๋ฌธ์ ๋ฅผ ๊ณ ๋ฏผํด๋ด์ ์ฐพ์๋ณธ ๊ฒฐ๊ณผ๋ฅผ ๊ณต์ ํ๊ฒ ์ต๋๋ค.์ฐ์ Cat์ ๊ฒฝ์ฐ, mongoose์ Document ํด๋์ค๋ฅผ ์์๋ฐ์์ต๋๋ค.๊ทธ๋ฆฌ๊ณ findOne, findById, select ๋ชจ๋ Query ํ์ ์ ๋ฆฌํดํฉ๋๋ค. (์ ๋ค๋ฆญ ํ์ ์ ๋ฌด์ํ์ต๋๋ค)&๋ intersaction ๊ธฐ๋ฅ์ ์ํํ๋ ์คํผ๋ ์ดํฐ๋ก Typescript ์์ ์๋ก ๋ค๋ฅธ ํ๋๋ ํฉ์น๊ณ , ๊ฐ์ ํ๋๋ ๋ ์์ ๋ฒ์๋ก ๋ง๋ค์ด์ค๋๋ค. ์์ธํ ๋ด์ฉ์ ๊ณต์๋ฌธ์๋ฅผ ์ฐธ์กฐํ์๊ฑฐ๋ ๊ฒ์ํด๋ณด์๋ฉด ๋ ์ ๋์ค์ง๋ง, ํต์ฌ์ ์ด๋ ์ต๋๋ค.Cat์ Document๋ฅผ ์์๋ฐ์๊ณ ,&๋ก ์ฐ๊ฒฐ์์ผ๋ Cat ์์ ๋ ์ด์ ๋ณํ์ง๋ ์์ต๋๋ค.๋ฌด์๋ณด๋ค๋ ์๋ ์คํ์ ํด๋ณด๋ Typescript์์ ํ์ฉํ๋ ๊ฒ์ด ์์ต๋๋ค:class BaseClass { prop1: string; } class ClassA extends BaseClass { prop2: string | number; } type Combined = ClassA & BaseClass; const combinedObject: BaseClass = { prop1: "1", prop2: 42, } as ClassA; // Combined also ok์์๋ฐ์์ ํ์ฅํ ClassA๋ ํ์ฅ๋ Combined ํ์ ๋ชจ๋ ์์ํด์ค Baseํด๋์ค ํ์ ์ผ๋ก ๋ฐ๋ ๊ฒ์ ๊ฐ๋ฅํ๊ณ , ๋ฌผ๋ก ๋์ผํ ํ์ ๋ผ๋ฆฌ ์ ์ธํ๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค. ๋ฐ๋ผ์, ์ฐ๋ฆฌ๊ฐ ์์ฑํ๋ findOne์ด๋ select๋ฅผ ํตํด ๋ฆฌํด๋ ๊ฐ์ Promise๋ก ๋ฐ๋ ๊ฒ๋ ๊ฐ๋ฅํ๊ณ Promise๋ ํ์ฉ๊ฐ๋ฅํ ํ์ ์ด ๋ฉ๋๋ค.์ฌ๊ธฐ๊น์ง ์ ๊ฐ ์์๋ณธ ๋ด์ฉ์ ๋๋ค.๋์์ด ๋์ จ๊ธธ ๋ฐ๋๋๋ค.
- 1
- 2
- 313
Q&A
์ค์ผ๋ง์์ ๋ฆฌ๋์จ๋ฆฌ๋ก ๋ฒ์ธ์ผ ์์ฑํ ๋ ๋ฌธ์๊ฐ์์ต๋๋ค.
์ ๋ ๋น์ทํ์ง๋ง ์กฐ๊ธ ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ์๊ฒผ์๋๋ฐ์,mongoose ๊ณต์๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ต๋๋ค.https://mongoosejs.com/docs/tutorials/virtuals.html ์ ๋ ์ฒ์์ schema.virtual.get() ์ ์ธ์๋ก arrow function ํ์์ผ๋ก ๋ฃ์์ต๋๋ค ()=>{}ํ์ง๋ง this ๋ผ๋ ์ปจํ ์คํธ๋ฅผ ๋ฃ์ด์ผํ๋ mongoose ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ arrow function์ด ์๋ ๊ธฐ์กด function() {} ํ์์ผ๋ก ๋ฃ์ด์ผํฉ๋๋ค.๊ทธ ์ธ์๋ ๊ฐ์์์ ๋์จ ๋ด์ฉ๊ณผ ๋ฐ๋ผํ๋ฉด ์ ์๋ํฉ๋๋ค.๊ทธ๋ฆฌ๊ณ ๊ฐ์์์๋ function( this: Cat) ์ด๋ฐ์์ผ๋ก ๋ฃ๋๋ฐ, ์ฌ์ค ์ธ์๋ฅผ ๋ฃ์ด๋ ์ ์ฐ์ ๋๋ค. ๊ณต์๋ฌธ์์์๋ get ์๋ ์ธ์๊ฐ ์๋ ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- 0
- 4
- 530




