Today, What I learned?
์ด๋๋ง ํ๋ก์ ํธ๊ฐ ์คํ๋ฐ ์ ๋ ์๋ค. ๐
๋์ ๋ด๋น ๊ธฐ๋ฅ์ ์ผ์ถ ๋ง๋ฌด๋ฆฌ ํ ๋ !...
์ค๋์ ํ์ด์ด๋ฒ ์ด์ค์ DB์์ ๋ฐ์ดํฐ๋ฅผ ์ง๊ณํด์ฃผ๋ ํจ์์ ๋ํด์ ์ ๋ฆฌํด๋ณด๋ ค ํ๋ค.
์ฝ์ง์ ๊ฝค ๋ง์ด ํ๊ธฐ๋ ํจ ใ (2์๊ฐ๊ฐ๋..)
getCountFromServer
getCountFromServer
๋ผ๋ ํ์ด์ด๋ฒ ์ด์ค API๊ฐ ์๋ค.
์ด ๋ฉ์๋๋ ์ค๋ ์ท์ ์ฐ์ด์ ๋ฐ์ดํฐ์ ๊ฐ์๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ ํจ์์ด๊ณ , ํ์ฌ ๋ฐฑ์๋ ์๋ฒ์์ ์ง์ ์ ์ธ ์๋ต์ ํตํด์๋ง ๋์ํ๋ ํจ์๋ค.
์๋์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๊ตฌ๋ํ๋ค.
const coll = collection(db, "cities");
const query_ = query(coll, where('state', '==', 'CA'));
const snapshot = await getCountFromServer(query_);
console.log('count: ', snapshot.data().count);
์์ธํ ๋ด์ฉ์ ์๋ ๋ฌธ์์์ ํ์ธ ๊ฐ๋ฅ.
https://firebase.google.com/docs/firestore/query-data/aggregation-queries?hl=ko
์ฝ์ง ๊ณผ์
๋ด๊ฐ ๊ตฌํํ๊ณ ์ ํ๋ ๊ธฐ๋ฅ์ ์ธ๊ธฐ ๋ธ๋๋๋ฅผ ๋ฑ์ํ ํ๋ ๊ธฐ๋ฅ์ด๋ค.
๋ฆฌ๋ทฐ์๋ฅผ ํตํด์ 1~5์๋ฅผ ์ถ๋ ค๋ด๊ธฐ๋ก ํ๊ธฐ ๋๋ฌธ์ ๋จผ์ ๋ธ๋๋๋ณ ๋ฆฌ๋ทฐ์๋ฅผ ์์์ผ ํ๋ค.
๋ค๋ฅธ DB์๋ค๋ฉด join ๊ฐ์ ์ฐ์ฐ์ผ๋ก ์ฝ๊ฒ ์ถ๋ ค๋๊ฒ ์ง๋ง ํ์ด์ด๋ฒ ์ด์ค DB์๋ ๊ทธ๋ฐ ๊ฑฐ ์๋ค.. ๐
(ํน์ ์๋ค๋ฉด ๋๊ธ ๋ฐ๋๋๋ค..)
๊ทธ๋์ ๋ด๊ฐ ์๊ฐํ ๋ก์ง์ ์ด๋ฌ๋ค.
- ๋ธ๋๋ ๋ฆฌ์คํธ๋ฅผ DB๋ก๋ถํฐ ๊ฐ์ ธ์ค๊ธฐ (์ด๋ฏธ ์๋ ๋ก์ง์ด๋ผ ๋ฐ๋ก ๋ฆฌํฉํ ๋งํด์ ํจ์ ๋ถ๋ฆฌํ๊ธฐ)
- ๋ชจ๋ ๋ธ๋๋๋ณ ๋ฆฌ๋ทฐ ๊ฐ์๋ฅผ getCountFromServer๋ก ๊ฐ์ ธ์์ ๋ณ๋๋ก ์ ์ฅ.
- sort๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ๊ธฐ
- ๋ค๋ฅธ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๋ฏ ๋ ๋๋ง
์ด์ ๋ณ๋๋ก ์ ์ฅํ๋ ๊ณผ์ ์ด ์ ์ด๋ฃจ์ด์ก๋ค๊ณ ์๊ฐํ์ผ๋..?
์ด์งธ์์ธ์ง ์ ๋ ฌ๋ ๋ ๋๋ง๋ ์ ๋๋ ํ์์ด ๋ฐ์ํ๋ค.
์ฐ์ ๋ด๊ฐ ์ ๋๋ก ์ ๋ด์๋์ง.. ์๊ฐ ๋ฐฐ์ด์ด ๋ง๋์ง๋ ํ์ธํ๊ณ ..
์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ฐฐ์ด๋ ๋์ ์๋ฏธ์์ ๊ฐ์ฒด์ด๊ธฐ ๋๋ฌธ์ isArray
๋ก ํ์ธํ๋ ๊ฒ ํ์คํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค..
๊ทธ๋์ ์ฝ์๋ก ์ฐ์ด๋ณด๋ ๋ถ๋ช ๋ฐฐ์ด์ด ๋ด๊ฒผ๋๋ฐ? ๊ธธ์ด๊ฐ 0์ธ ์ํฉ....
๋ฐฐ์ด์ ๋ฐ๋ก ์ ์ฅ์ด ๋์ง ์์๋ค๋ ๊ฒ์ธ๋ฐ ~~
์ผ๋จ ๋๋ ๊ทธ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ ๋์ ๋ฐฉ์๊ณผ ๊ฐ์ด ๊ณ์ ์จ์๋ forEach๋ก ์๋ํด๋ณด๊ณ ์์๋ค.
forEach ๋ฉ์๋๋ก ์๋ํ๋ค ๋ณด๋ getCountFromServer
๋ await๊ฐ ํ์ํ ๋ถ๋ถ์ด์๊ธฐ ๋๋ฌธ์ async๋ก ๊ฐ์ ์๋ฐ์ ์์๋ค.
์๋ง ์ด ๋ถ๋ถ์์ forEach๋ฌธ ๋ฐ๊นฅ์ ์ฝ๋๋ค์ด ๋จผ์ ์คํ๋์ด๋ฒ๋ฆฐ ๊ฒ ์๋๊น.. ํ๊ณ ์ถ์ ํ๊ณ ์๋ค.
((์ฌ๊ธฐ๊น์ง ๊นจ๋ซ๋๋ฐ ๋ ์๊ฐ ๊ฑธ๋ ธ๋ค))
๊ทธ๋ผ ๋ฉ์๋ ์ ์ฐ๊ณ ์ ์๋๋ก ๊ฐ๋ฉด ๋์ง! ์ถ์ด์ for๋ฌธ์ผ๋ก ๋ฐ๊พผ ํ..
๋ฐ๋ผ๋ ๋๋ก ์ ์ ๋์ํ๋ค. ๐ ์ผํธ.
๋ด์ผ์ ํ๋ก์ ํธ ๊ฐ๋ฌด๋ฆฌ๋ฅผ ์ข ํ ์ ์๊ธธ ํฌ๋งํ๋ฉฐ ํ์ดํ .. ๐
'๐ Studying > ๐ TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
React onClick์ ํจ์ ๋๊ธธ ๋์ ๋งค๊ฐ๋ณ์ ์ฒ๋ฆฌ (1) | 2022.12.13 |
---|---|
React ํฌ๋๋ฆฌ์คํธ ๋ง๋ค๊ธฐ (1) | 2022.12.06 |
JS ํ์ด์ด๋ฒ ์ด์ค์์ ์ค์๊ฐ์ผ๋ก DB ๋ฐ์ํ๊ธฐ (0) | 2022.11.23 |
JS SPA์์ผ๋ก ์ด๋ฒคํธ ํจ์ ๋ง๋ค๊ธฐ (0) | 2022.11.21 |
ํ๋ก์ธ์ค์ ์ค๋ ๋ (0) | 2022.11.18 |
Comment