728x90 ๋ฐ์ํ firestore4 [Firebase] ์ปฌ๋ ์ ๊ทธ๋ฃน ์ฌ์ฉํด๋ณด๊ธฐ(Firestore CollectionGroup) ์๋ ํ์ธ์ Foma๐ ์ ๋๋ค! ์ค๋์ Firestore์์ ์ฌ๋ฌ ํ์ ์ปฌ๋ ์ ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ฌ๋ ์ ์ฉํ ์ปฌ๋ ์ ๊ทธ๋ฃน์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์~ ์ปฌ๋ ์ ๊ทธ๋ฃน์ด๋? ์์ด๋๊ฐ ๊ฐ์ ์ปฌ๋ ์ ์ ๋ชจ์๋์ ์ปฌ๋ ์ ์ ๋๋ค. ์๋ฅผ ๋ค๋ฉด User ์ปฌ๋ ์ ์ด ์๊ณ ํ์ ์ปฌ๋ ์ ์ผ๋ก ์ ์ ๋ค์ ๋ฆฌ๋ทฐ๋ฅผ ๊ด๋ฆฌํ๋ Review์ปฌ๋ ์ ์ด ์๋ค๊ณ ๊ฐ์ ํ ๊ฒ์ User - user1 - Review User - user2 - Review ... ๋ฑ์ผ๋ก ์ ์ ๋ง๋ค ๋ฆฌ๋ทฐ ํ์ ์ปฌ๋ ์ ๊ฐ์ง๊ฒ ๋ ๊ฒ์ ๋๋ค. ๋ง์ฝ์ ๋ชจ๋ ์ ์ ๋ค์ ๋ฆฌ๋ทฐ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์ค๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น์? ๋ณดํต Firestore์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ๋ ์๋์ ๊ฐ์ด ์ ํํ ๋ฐ์ดํฐ ๊ฒฝ๋ก๋ฅผ ์ ๋ ฅํด์ฃผ์ด์ผ ํฉ๋๋ค. ์ด๋ ๊ฒ ๋๋ฉด ์ ์ ๋ค ์๋งํผ getDocuments ์ฟผ๋ฆฌ๋ฅผ ์คํํด์ผํฉ.. 2021. 7. 15. [Firebase] addSnapshotListener๋ ํธ์ถ๋ ๋ ๋ชจ๋ ๋ฌธ์๋ฅผ ์ฝ์๊น? ์๋ ํ์ธ์ Foma ๐ ์ ๋๋ค! ์์ ํ๋ก์ ํธ๋ฅผ ์งํํ๊ณ ์์ด์ ๋ธ๋ก๊ทธ ํฌ์คํ ์ ๊ณ์ ๋ฏธ๋ค๋ค์.. ์ค๋์ Firestore์์ ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ์ ๊ฐ์งํ ์ ์๋ addSnapshotListener์ ์ฌ์ฉํ ๋ snapshot์ documents์ ๊ฐฏ์๋ฅผ ์ธ์ด๋ณด๋ฉด ์ ์ฒด ๊ฐฏ์๊ฐ ๋์ค๋๋ผ๊ตฌ์. ๊ทธ๋์ ๋ฌธ๋ "๋ฌธ์๊ฐ ํ๋๋ง ๋ณ๊ฒฝ๋ผ๋ ์ปฌ๋ ์ ์ ๋ชจ๋ ๋ฌธ์๋ฅผ ์ฝ๋ ๊ฑด๊ฐ?" ๋ผ๋ ์๋ฌธ์ด ๋ค์ด์ ์คํํด๋ณธ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ฆฌํ๋ ค๊ณ ํฉ๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์~ Firestore ํ์ด์ด๋ฒ ์ด์ค ๊ณต์ ๋ฌธ์์๋ ์๋์ ๊ฐ์ด ์ถ๊ฐ,์์ ,์ญ์ ๊ฐ ๋ฐ์ํ ๋๋ง๋ค ์ฝ๋ ํ์๊ฐ ์ฆ๊ฐํ๋ค๊ณ ๋์ธ์์ต๋๋ค. (์ ๋.. ์ด๊ฑธ ๋ด๋ ์ ์ฒด ๋ฌธ์๋ฅผ ์ฝ๋๊ฑด์ง ์๋๋ฉด ๋ณ๊ฒฝ๋ ๊ฒ๋ง ์ฝ๋๊ฑด์ง ์ ํํ ์ ์๊ฐ ์๋๋ผ๊ตฌ์.) ๋ฐ์ดํฐ๋ ์๋์ ๊ฐ์ด Test๋ผ๋ ์ปฌ๋ ์ ์ num.. 2021. 7. 13. [Firebase] Cloud Functions๋ก Algolia์ Firestore ์ฐ๋ํ๊ธฐ ์๋ ํ์ธ์ Foma ์ ๋๋ค! ์ค๋์ Cloud Functions ์ ์ด์ฉํด์ Firestore ๋ฐ์ดํฐ๋ฒ ์ด์ค์ Algolia์ ์ธ๋ฑ์ค๋ฅผ ์ฐ๋ํ๋๊ฑธ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค. ์ด๋ฒ ๊ธ์์๋ ํด๋ผ์ฐ๋ ํ์ ๊ธฐ๋ณธ์ธํ ๊ณผ ์๊ณ ๋ฆฌ์ ๊ธฐ๋ณธ์ธํ ์ด ํ์ํ๋ฏ๋ก ํด๋ผ์ฐ๋ ํ์ ์ธํ ์ ์ฌ๊ธฐ ์์ ์๊ณ ๋ฆฌ์ ๊ธฐ๋ณธ์ธํ ์ ์ฌ๊ธฐ ์์ ๋จผ์ ๋ณด๊ณ ์์ฃผ์ธ์~ ๋ฐ๋ก ์์ํ ๊ฒ์~ Pod ๋จผ์ Algolia์ Cloud Function๊ณผ Firestore๋ฅผ ์ฝ์ฝ์ํ์ ์ถ๊ฐํด์ฃผ์ธ์. pod 'AlgoliaSearchClient', '~> 8.0' pod 'Firebase/Functions' pod 'Firebase/Firestore' ํฐ๋ฏธ๋์์ functions๋ก ์ด๋ํ npm์ผ๋ก ์๊ณ ๋ฆฌ์๋ฅผ ์ค์นํด์ค๋๋ค. cd functions npm install alg.. 2021. 4. 21. Firebase๋ฅผ ์ด์ฉํ User ์์ฑ ๋ฐ Firestore์ ์ ์ ๋ฐ์ดํฐ ์ ์ฅ podfile์ ์์ ๊ฐ์ด ์ถ๊ฐ ํด์ค ๋ค ํฐ๋ฏธ๋์์ ํด๋น ํ๋ก์ ํธ๊ฐ ์๋ ํด๋์ ์ด๋ํ ๋ค pod install์ ํด์ฃผ๊ณ ๊ทธ๋ฆฌ๊ณ Appdelegate๋ก ์ด๋ํ ๋ค Firebase๋ฅผ importํด์ค๋ค, ๊ทธ ๋ค์ ์ ํจ์๋ก ์ด๋ํ ๋ค FirebaseApp.configure()์ ํด์ฃผ๊ณ ํ์๊ฐ์ ํ์ด์ง๋ก ์ด๋ํด์ ์ ๋๊ฐ๋ฅผ importํด์ค ๋ค ํ์๊ฐ์ ๋ฒํผ ๋๋ฅด๋ ๊ณณ์ ์์ ๊ฐ์ ํจ์๋ฅผ ์ถ๊ฐ ํด์ฃผ๋ฉด ๋! let db = Firestore.firestore()์ ๋ฐ์ดํฐ๋ฅผ ํ์ด์ด์คํ ์ด์์ ๊ฐ์ ธ์จ๋จ ์๋ฏธ ์์ ๊ฐ์ด ์ ์ฅ๋๋ค. ๊ฑฐ๊ธฐ์ collection์ ์ด๋ฆ์ "users"์ด๊ณ ๊ทธ ์์ document์ ์ด๋ฆ์"๊ฐ์ ํ๋ ์ด๋ฉ์ผ"๋ก ๊ทธ ์์ email,name์ด๋ผ๋ ํ๋์ ๊ฐ ๊ฐ ์ด๋ฆ๊ณผ ์ด๋ฉ์ผ์ ๋ฃ์ด์ค๋ค๋ ๋ป 2019. 11. 23. ์ด์ 1 ๋ค์ 728x90 ๋ฐ์ํ