
Firebaseで同じコレクションの中に、
- メールアドレスとパスワードで登録したユーザー
- 匿名ユーザー
この2種類のユーザーが混在している時、
「匿名ユーザーのドキュメントだけ取得したい」と思いました。
1行で済む魔法みたいなコードは無い(多分)
私が調べたところ、1行で匿名ユーザー全体を取得できるようなコードは見つかりませんでした。
fa-chevron-circle-rightアドレスとパスで登録したユーザに無いフィールドを追加すればいい
匿名ユーザーにだけ独自のフィールドを追加して、それを利用して取得するようにしました。
フィールドの追加・取得は公式サイト参照した方が分かりやすいです。
fa-chevron-circle-rightそれを取得するメソッド
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
let db = Firestore.firestore() //匿名ユーザーのドキュメント取得 private func getAnonymousUser() { db.collection("users").whereField("Anonymous", isEqualTo: true).getDocuments() { (querySnapshot, err) in if let err = err { print("Error getting documents: \(err)") } else { for document in querySnapshot!.documents { print("\(document.documentID) => \(document.data())") } } } } |
あくまで、「私はこのようにした」ということなので参考までに。