firebaseの情報検索
解決したいこと
ユーザーが入力した内容に一致するfirebaseの情報を検索・取得したいです。以下のようにコードを記述しました。
ユーザーが入力する項目は三つ(outputValue1、outputValue2、outputValue3)なのですが、この中の一つでもヒットする情報があれば取得するようにしたいです。しかし、下記のコードでは三つがfirebaseの情報と一致している場合しかデータを取得できません。outputValue1が空の状態だったりすると例えoutputValue2とoutputValue3と一致するデータが存在しても取得してくれません。
一つでもヒットしていれば取得するようにする方法を教えてください。よろしくお願いします。
var aaa = Firestore.firestore().collection("oms").document("con").collection("city").limit(to: 10)
if outputValue1 != nil {
aaa = aaa.whereField("bs", isEqualTo: outputValue1 as Any)
if outputValue2 != nil {
aaa = aaa.whereField("ctl", isEqualTo: outputValue2 as Any)
}
if outputValue3 != nil {
aaa = aaa.whereField("dtf", isEqualTo: outputValue3 as Any)
}
aaa.getDocuments() { (snaps, error) in
if let error = error {
print("DEBUG_PRINT: snapshotの取得が失敗しました。 \(error)")
return
}else{
guard let snaps = snaps else { return }
for document in snaps.documents {
print(document.data())
}
}}
0