実現したいこと
SwiftにおいてCloud Firestoreに保存したデータを
前画面から引き継いだ検索項目を元に取得したい。
該当のソースコード
Swift
1 let db = Firestore.firestore() 2 let collectionReference = db.collection("customers") 3 4 //S_Ageに前画面から引き継いだ値を保持 5 if S_Age.isEmpty{ 6 //条件なし 7 }else{ 8 //S_Ageに値がある場合のみ条件とする。 9 collectionReference.whereField("Age", isEqualTo: S_Age) 10 } 11 collectionReference.getDocuments { (snaps, error) in 12 ・・・省略 13 }
発生している問題
whereFieldにて条件を指定していますが、getDocumentsを実行した際にうまく条件が反映されず
コレクション(customers)が全件取得されてしまいます。
試したこと
Swift
1collectionReference.whereField("Age", isEqualTo: S_Age).getDocuments { (snaps, error) in
このようにgetDocumentsの前にwhereFieldを記載すると条件と一致するデータのみ取得できましたが、
「前画面で検索項目が空白の場合は条件としない」というのが実装できないため該当のソースコードのような実装を検討しております。
あなたの回答
tips
プレビュー