You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中Firebase Firestore如何实现带OR条件的流式查询

Flutter Firestore OR 条件查询实现方案

Firebase Firestore 支持 OR 条件查询,你可以通过 Filter.or 方法组合多个查询条件实现 || 的逻辑,修改后的代码如下:

Future<Stream<QuerySnapshot>> getOrders() async { 
  return FirebaseFirestore.instance
      .collection("Orders")
      .orderBy("timestamp")
      .where(
        Filter.or(
          Filter("isCredentialUploaded", isEqualTo: true),
          Filter("isTransactionDone", isEqualTo: true),
        )
      )
      .snapshots();
}

使用注意事项:

  • 包含OR条件的复合查询需要提前在Firebase控制台创建对应复合索引,首次运行未创建索引的代码时,运行日志会输出对应索引的创建指引,按照指引操作即可完成配置。
  • 单个Filter.or最多支持传入10个过滤条件,可覆盖大部分业务场景。
  • 如果你使用的cloud_firestore插件版本低于2.0,需要先升级插件到2.0及以上版本才能使用Filter相关API。如果受项目限制无法升级,可以分别发起两个单独的条件查询,拿到结果后在客户端合并去重即可,该方案仅适合数据量较小的场景。

内容的提问来源于stack exchange,提问作者Sayed M. Idrees

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 00:39:03