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

Firestore查询返回无目标字段文档问题求助(firebase-admin v9.0.0)

Firestore查询异常:!= false返回无字段文档的解决办法

直接满足需求的查询方案

既然你的目标是仅获取r_o字段值为true的文档,直接使用精确匹配查询是最稳妥的方式,完全避免歧义:

const aRef = firebase.collection('ABC');
let querysnap = await aRef.where('r_o', '==', true).limit(50).get();

原查询异常的原因及替代方案

你遇到的where('r_o', '!=', false)返回无r_o字段文档的情况,大概率是firebase-admin v9.0.0版本的实现偏差。按照官方文档描述,!=查询本应排除不存在目标字段的文档,但旧版本可能存在逻辑漏洞。

如果后续有需要用不等查询的场景,可以通过组合条件强制过滤掉无字段的文档:

const aRef = firebase.collection('ABC');
let querysnap = await aRef
  .where('r_o', '!=', false)
  .where('r_o', '>', '') // 利用Firestore类型排序规则,确保字段存在(布尔值优先级高于空字符串)
  .limit(50)
  .get();

不过优先推荐使用== true的精确查询,逻辑更直观,查询性能也更优。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 18:31:15