Firebase Real Time Fatabaseをしばらく使用していて、今日Cloud Firestoreに出会いました。 FirestoreでLIKE演算子を使用する方法がわかりません。
Firebase Real Time Database
ref.child('user').orderByChild('name').startAt(name).endAt(name+'\uf8ff')
Cloud Firestoreで、私は試しました
userRef.where('name', '>=', name); <br>
userRef.where('name', '<=', name);
しかし、それは機能しません。
これを解決するには、orderByChild
関数をorderBy
に変更する必要があります。したがって、次のコードを使用してください:
ref.collection('user').orderBy('name').startAt(name).endAt(name+'\uf8ff')
LIKEに相当するものはありませんが、RTDBで行うのと同じ方法でプレフィックスフィルタリングを行うことができます。
作成したクエリは、equalsと同じです。あなたはトリックで同じ終わりをする必要があり、<
未満で実行する必要があります。
参考:新しいバージョンのクラウドファイアストア(0.12.5など)では、startAt()メソッドとendAt()メソッドには単一の文字列ではなく文字列のリストが必要です。
そのような演算子はありません。許可されている演算子は==, <, <=, >, >=.
ここで、Cloud Firestoreでのクエリのすべての制限を見つけることができます。 https://firebase.google.com/docs/firestore/query-data/queries