Firebase Firestore使用where查询文档子属性不生效如何解决?
问题原因
Firestore 查询为严格类型匹配,你存储的文档中value.b是字符串类型的'48',但查询时传入的比对值是数字类型的48,类型不一致导致无法命中匹配的文档。
你使用的嵌套字段点号查询方式是Firestore官方支持的标准写法,本身没有问题。
修复方案
- 方案一:修改查询条件的比对值类型,保持和存储数据一致:
firestore() .collection('database_test') .where("value.b", "==", "48") .get()
- 方案二:如果业务场景中
value.b属于数值属性,调整数据写入逻辑,将value.b存储为数字类型的48,原有查询代码可保持不变。
内容的提问来源于stack exchange,提问作者rop lop fan
相关产品推荐
相关产品推荐

