[Sequelize] ํ์
๋ค์ด๊ฐ๊ธฐ์ ์์, ํ ์คํธ์ ์ฌ์ฉํ ๋ชจ๋ธ ๊ตฌ์กฐ๋ ์๋์ ๊ฐ๋ค.

DB์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ํ์์ ๋ชจ๋ธ ํด๋์ค์ find ๋ฉ์๋๋ค์ ํตํด ์ํํ ์ ์๋ค.
์ ์ฅ๋ ๋ชฉ๋ก์ ์ ๋ถ ๋ค ๊ฐ์ ธ์ค๊ณ ์ถ๋ค๋ฉด, findAll ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
ํด๋น ๋ชจ๋ธ ๊ฐ์ฒด๋ฅผ ๋ฐฐ์ด๋ก ํต์งธ๋ก ๋ฌถ์ด์ Promise๋ฅผ ํตํด ๋ณด๋ด์ค๋ค.
๊ทธ๋ฆฌ๊ณ ๋ชจ๋ธ ๊ฐ์ฒด์์ ์ค์ ๋ฐ์ดํฐ๊ฐ์ ๊บผ๋ด์ค๋ ค๋ฉด dataValues ์์ฑ์ ์ฌ์ฉํ๋ฉด ๋๋ค. ๊ฑฐ๊ธฐ ๋ค์ด์๋ค.
๊ทธ๋์ ๋ฌด์์ ๋ค ์ฝ์ด์ ์ฝ์๋ก ๋ฟ๋ฆฌ๋ ค๋ฉด ์ด๋ ๊ฒ ํ๋ฉด ๋๋ค.

๊ทธ๋ผ ์ ์ถ๋ ฅํด์ค ๊ฒ์ด๋ค,

๊ฒ์์กฐ๊ฑด๋ถ์ฌ
๊ทผ๋ฐ ๋ฌด์์ ๋ค ๊ฐ์ ธ์ฌ๊ฒ ์๋๋ผ ํ์ํ ๊ฒ๋ง ์ ๋ณํด์ ๊ฐ์ ธ์์ผ ํ ๊ฒฝ์ฐ๊ฐ ๋ ๋ง์ ๊ฒ์ด๋ค. ๊ทธ๋ด ๋๋ ๋ฉ์๋์ ์ด์ธ์๋ก ๊ฐ์ฒด๋ฅผ, ๊ทธ ์์ where ์์ฑ์ผ๋ก ์กฐ๊ฑด์ ์ ๋ถ์ฌํ๋ฉด ๋๋ค.
๋ง์ฝ id๊ฐ 3์ธ ๋
์๋ง ๊ฐ์ ธ์ค๊ณ ์ถ๋ค๋ฉด ์๋์ ๊ฐ์ด ์ธ ์ ์๋ค.

์ด์ธ์๋ ๋ ๋ง๊ณ ๋ณต์กํ ํํ๋ฒ์ด ์๋๋ฐ. ๊ทธ๊ฑด ๋ณ๋ ํฌ์คํธ์์ ์ ๋ฆฌํ๋๋ก ํ๊ฒ ๋ค.
๋จ์ผํ์
์์์ ์ฌ์ฉํ findAll์ ๋ณต์์ ๋ชฉ๋ก์ ๊ฐ์ ธ์ค๋ ์ฉ๋๋ผ, ์ ๋ถ ๋ฐฐ์ด๋ก ๊ฐ์ธ์ ๋ฐํํ๋ค.
๊ทธ๋์ ๋จ์ผ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ํ์๊ฐ ์์ ๋๋ ์ ์ ์น ๋ชปํ๋ค. ๊ทธ๋ด ๋๋ findOne์ ์ฌ์ฉํ๋ฉด ๋๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก ๊ฒฐ๊ณผ๊ฐ์ Promise๋ก ๋ฐํ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ผ๋ฐ์ ์ผ๋ก ์กฐ๊ฑด์ ๊ณผ ํจ๊ป ์ฌ์ฉ๋๋ค.
๊ทธ๋์ ๋๋ต ์๋์ ๊ฐ์ด ์ฌ์ฉํ ์ ์๋ค.

์กฐ๊ฑด์ ๋ง๋๊ฒ ์๋ค๋ฉด null๋ง์ด ์ ๋ฌ๋๋ค.
์ด์ธ์๋ find ๋ฉ์๋๋ค์ findByPk, findAndCountAll, findCreatefind ๋ฑ๋ฑ ๋ง์ง๋ง ์ด ๋์ ๋ณํ ๋ฐ ํ์ฅ์ผ ๋ฟ์ด๋ค.
์์ธํ๊ฒ์ ์๋์ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ๋ฉด ๋๋ค.
์ฐธ์กฐ
https://sequelize.org/master/class/lib/model.js~Model.html