Flutter、FireBaseを使用した複合クエリの指定方法について
解決したいこと
FlutterおよびFireBaseを使用し、掲示板アプリを作成していいます。
掲載終了時刻が現在時刻より過去の掲示板を取得し、
検索画面より入力した、キーワードをFireBaseにて掲示板名を前方一致で検索が行いたいのですが、
希望のデータが取得できません。
エラーは発生しておりませんが、下記の通り記述した場合、取得結果が0件となります。
なおFireBaseで複合クエリのインデックス登録は完了しておりますが、
FireBaseでは、where()メソッドとstartAt()メソッド、endAt()メソッドは併用できないのでしょうか?
検索処理
FirebaseFirestore.instance
.collection('boards')
.orderBy('closeTime', descending: true)
.where('closeTime', isGreaterThan: now)
.orderBy('title')
.startAt([title]).endAt(['$title\uf8ff'])
.snapshots();
単一クエリで確認した際
なお、下記の条件では検索を行えております。
~終了時刻で絞り込み~
FirebaseFirestore.instance
.collection('boards')
.orderBy('closeTime', descending: true)
.where('closeTime', isGreaterThan: now)
.snapshots();
~タイトル(前方一致)で絞り込み~
FirebaseFirestore.instance
.collection('boards')
.orderBy('title')
.startAt([title]).endAt(['$title\uf8ff'])
.snapshots();
0