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

Firebase Get Data查询返回空Docs问题求助

问题:Firestore查询用户数据时docs为空但查询快照存在数据

我尝试从名为“users”的集合中获取当前用户的所有数据,但响应中的docs为空。使用的函数如下:

const getUser = async ()=> {
  let current_user = (firebase.auth().currentUser.uid); // get the user uid
    if(current_user){
      let userDB = db.collection("users")
      let userDataref = await userDB.where("user_id", "==", `${current_user}`).get();
      let userData = userDataref.docs.map(doc => doc.data()) //get all the fields for current user
      console.log(userData)
    }
}

数据库截图:
数据库截图

调试器截图:
调试器截图

查询返回的userDataref存在数据,但docs为空。


问题原因

从数据库截图可见,集合中存储用户ID的字段名是userId,但代码查询时用的是user_id,字段名的大小写与格式不匹配,导致查询不到符合条件的文档,因此docs为空。

修复方案

两种方式任选其一:

  • 修改代码中的查询条件,将user_id改为userId,同时可去掉冗余的模板字符串:
    let userDataref = await userDB.where("userId", "==", current_user).get();
    
  • 或者修改Firestore数据库中users集合的字段名,统一改为user_id,与代码中的查询字段保持一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 01:20:13