firebaseのドキュメントを参考に、変更されたデータを取得する設計を実装したのですが、
これでは、user!.uid内のどのフィールドが更新されても値を受け取ってしまいます。
firebase公式ドキュメント
指定したフィールドの変更のみをリッスンするにはどの様なコードにすれば宜しいでしょうか?
以下コードです。
swift
1 func receiveid(){ 2 let db = Firestore.firestore().collection("users") 3 let user = Auth.auth().currentUser 4 db.whereField("uid", isEqualTo: user!.uid)//ここでリッスンするドキュメントを指定している。 5 .addSnapshotListener { querySnapshot, error in 6 guard let documents = querySnapshot?.documents else { 7 print("Error fetching documents: (error!)") 8 return 9 } 10 let myid = documents.map { $0["receiveid"]! } 11 print("recieveid: (myid)")//この状態では、指定したドキュメント内の、どのフィールドが変更されてもと必ずprintされるので、"receiveid"が変更された時にのみprintされる様にしたい。 12}}
以下firebaseコンソール画像です。
あなたの回答
tips
プレビュー