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

Firebase查询在模拟器正常,部署云端返回空结果求助

Firebase查询云端返回空结果但模拟器正常

我正在运行Firebase查询以获取属于某一分类的产品,在模拟器中一切正常,但部署到云端后查询返回空结果(queryProducts.empty === true),无法获取任何产品。

相关代码

const prodRef = collection(firestore, ownerPath + '/products')
const prodQuery = query(
        prodRef,
        where('category', '==', category.id),
        where('available', '>', 0)
    )
const queryProducts = await getDocs(prodQuery)

已做的排查

  • 已在Firestore中创建对应查询的索引(索引字段为category升序、available升序,覆盖目标products集合)
  • 反复确认目标数据存在,且所有ID均正确匹配
  • 了解到模拟器与云端环境存在行为差异相关问题,但仍未解决当前问题

更新测试结果

我进行了几项测试:

  • 仅按available查询(where('available', '>', 0))能正常返回产品
  • 同时按category和available的原查询,以及仅按category的查询,均返回空结果

手动指定某产品的category ID(l6pIKdB5E13uTXepSm1P)写入查询后,仍返回空结果:

const prodQuery = query(
        prodRef,
        where('category', '==', "l6pIKdB5E13uTXepSm1P"),
        where('available', '>', 0)
    )

我推测问题核心在于索引:模拟器无需索引即可运行查询,但云端环境必须依赖索引,目前尚未找到可行的解决办法。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 12:25:55