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

如何在Firestore中对字符串字段执行多值匹配查询

原写法错误原因

你当前写的两个isEqualTo链式调用是与逻辑,要求文档的status字段同时等于COMPLETE和INCOMPLETE,不存在满足该条件的文档,因此无法返回正确结果。

正确实现方案

Firestore提供了whereIn操作符,专门用于匹配字段值属于指定列表范围内的文档,你可以直接用这个方法实现需求,正确代码如下:

FirebaseFirestore.instance.collection('tasks')
    .where('status', whereIn: ['COMPLETE', 'INCOMPLETE']);

注意事项

  • whereIn操作符最多支持传入10个匹配值,你的场景只有2个匹配值,完全符合使用限制
  • 如果该查询还需要搭配其他字段的过滤条件,执行时如果触发缺失复合索引的报错,按照报错提示的指引创建对应索引即可正常使用。

内容的提问来源于stack exchange,提问作者Brandon Pillay

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 14:39:03