๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
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.
728x90
๋ฐ˜์‘ํ˜•