์๋ํ ๊ธฐ๋ฅ:
"day_leaderboard", "month_leaderboard" ์ปฌ๋ ์ ๋ด ๋ฌธ์์ค date๊ฐ์ด (๋ฌธ์๊ฐ ๋ฑ๋ก๋ ์๊ฐ์ ๊ฐ์ผ๋ก ์ ์ฅ)
์ด ๊ฐ(date๊ฐ๊ณผ ๊ฐ์ ๊ณ์ฐ์์ผ๋ก ํ์ฌ ์๊ฐ ๊ฐ) ์ด๋ ๋น๊ตํ์๋ "day_leaderboard"๋ 1 ์ด์, "month_leaderboard"๋ 30 ์ด์ ์ฐจ์ด๋ ๊ฒฝ์ฐ ํด๋น ๋ฌธ์ ์ญ์
ํ์ด ๋งํ์๋ฉด ๊ฐ๊ฐ date๊ฐ์ด ํ์ฌ๋ 24์๊ฐ์ด์ ์ฐจ์ด๋๋ฉด, 30์ผ์ด์ ์ฐจ์ด๋๋ฉด ์ญ์
๋ฐฐํฌํ์๋ ์ค์ ํ ์๊ฐ๋ง๋ค ์์ฒญ์ ์ฌ๋ผ๊ฐ๋๋ฐ ์ญ์ ๋ ์๋๋์ค..
ํน์ ์๋ชป๋๊ฑฐ ๋ณด์ด๋ ๊ณ ์๋?
ใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ ก
if (batch.size>0) ์ด๋ถ๋ถ์ด ์๋ชป๋๊ฑฐ์์
์ง์ธ๊ฑฐ ์์ผ๋ฉด true๋๋ ๋ณ์ ๋ง๋ค์ด์ ํด๊ฒฐํจ
const now = Date.now()
doc.date().date ๊ฐ milliseconds ๋จ์๋ผ๋ฉด currentTimestamp ๊ณ์ฐ์์ ํ์์์ด
์ง๊ธ ๋ง๋ ๊ฑฐ๋ณด๋ค ๋ ๊ฐํธํ ๋ง๋ค์์๋ค๋ ๋ป์ธ๊ฒ๊ฐ์๋ฐ ์๋๋ฉด ํน์ ์ ๋ฐ์์ผ๋ก ๋ง๋ค์ด์ ์๋์ด ์ํ๋๊ฒ๊ฐ๋ค๋ ์๊ฒฌ์ด์ผ?
์์ชฝ ๋ค์ ๋์ ๊ณ์ฐ์์ด ์ดํด๊ฐ ์๋จ
๋จ์ํ ๊ฐ1 = 1์ผ์ด๋ผ๋๊ณ์ฐ์์ด์ผ 2024๋ 1์1์ผ์ด๋ฉด 738791 2024๋ 1์2์ผ์ด๋ฉด 738792 ์ด๋ฐ์ ์๋ฌด๋๋ ์๋ฐ๋ ์ง๊ธ์ฐ๋์์ง์ด๋ ํ์ฌ์๊ฐ์ ์์น๋กํ ๋ ํต์ผ์ด ์๋ผ์์ด์ ์๋ก ๋ง๋ ๊ณ์ฐ์์..
๋ด๊ฐ ์๋ฐ๋ ์ํด์ ๋ชจ๋ฅด๊ฒ ๊ณ ์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ทธ๋ฅ Date๋ฅผ Number๋ก ํ๋ณํํ์ ๋ ๋ฑ๋ ๊ฐ์ด milliseconds์. firebase ํ์ ์ ์์จ๋ด์ ๋ชจ๋ฅด๊ฒ ์ง๋ง JS์ Date ์ฐ์์ด ์ด๋ ค์ฐ๋ฉด momentjs ๊น์์ ์ฌ์ฉํ๊ณ
๊ตฌ๊ธ์ด ๋ณ์ ์ด๋ผ์ doc.date().date ๊ฐ JS ํ์ค Date ๊ฐ์ฒด๋ฅผ ๋ฌด์ํ๊ณ ์ง์ข๋๋ก ์ผ์๋ฅผ ๋ฑ๋ ๋ณ์ ๊ฐ์ ์ผ์ ์์๊ฒ ๊ฐ์ผ๋๊น ๋ฐ๋ฆฌ์ธ์ปจ์ผ๋ก ๊ณ์ฐํด
์๋ฐ๋ ๊ฒ์๋ฉ์ด์ปค๋ date๋ฅผ number๋ก ๋ฐ๊พธ๋ฉด ์๋ก ํ์์ด ๋ฌ๋ผ๊ฐ์ง๊ณ ํต์ผํ๋ค๋๋ป์.. ์๋ฐ๊ฐ ์ ๋ฐ ๊ณ์ฐํ๋ฉด ๊ณ ์ฅ๋๋๊ฒ ์๋๋ผ๋ฉด ์ด์ชฝ ๋ฌธ์ ๋ ์๋๊ฒ ๊ฐ์๋ฐ ์๊ฒฌ์ ๊ณ ๋ง์
์๋ ค์ค๋ ๋ต์ ๋ชป ์ฐพ๋ ํ์ ์ด๊ตฌ๋;; ์๊ณ ํด๋ผ
๋๊ธ ๊ธธ๊ฒ ๋ฌ์์คฌ๋๋ฐ ์ด๊ฑด ์๋๊ฑฐ๊ฐ๋ค๊ณ ํด์ ๋ฏธ์ํ๊ณ ๋๋ ๋ง์ด ํธ์น ์์๋ฐ date๊ฐ ๊ณ์ฐ์์ด๋ ์๋ก ๋น๊ตํ๋๊ฑฐ์๋ ์ด์์๋๊ฑด ๋ฐฉ๊ธ ํ์ธํ์ด ์๋ฌด๋๋ ํ์ด์ด๋ฒ ์ด์ค ํ์ ์ชฝ ํจ์๋ฌธ์ ๊ฐ์..
doc.date().date๊ฐ Date ๊ฐ์ฒด๊ฐ ์๋๋ผ๋ฉด doc.date().date ๋ก Date๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ณ numberํ๋ณํ ํ๊ณ ์ฐจ๋ฅผ ๊ตฌํด์ฃผ๋ฉด๋ผ
threshold = 24 * 60 * 60 * 1000 (24 hours -> milliseconds)
30์ผ์ด๋ฉด threshold = 30 * 24 * 60 * 60 * 1000 (24 hours -> milliseconds)