Firestore如何通过ID查询Firebase中关联用户的存储数据
Firestore 按用户ID查询关联文档的方法
你存储关联数据时已经将Firebase Auth生成的用户UID作为字段写入了Firestore文档,直接按这个UID字段做过滤查询即可。
代码端查询示例(以Web SDK为例)
import { getFirestore, collection, query, where, getDocs } from "firebase/firestore"; const db = getFirestore(); // 请将userItems替换为你存储关联元素的集合名,userId替换为你实际存用户UID的字段名 const targetQuery = query( collection(db, "userItems"), where("userId", "==", "你需要查询的目标用户UID") ); const querySnapshot = await getDocs(targetQuery); const relatedItems = []; querySnapshot.forEach(doc => { relatedItems.push({ docId: doc.id, ...doc.data() }); }); // 输出的relatedItems就是该用户关联的所有元素 console.log(relatedItems);
Firebase控制台直接查询操作步骤
- 进入对应Firestore集合页面
- 点击页面顶部的「过滤」按钮
- 字段选择你存储用户UID的对应字段
- 运算符选择
== - 输入框粘贴要查询的用户UID,执行过滤即可看到所有关联文档
如果查询时报权限错误,需要同步调整Firestore安全规则,参考示例:
match /userItems/{itemId} { allow read: if request.auth != null && request.auth.uid == resource.data.userId; }
内容的提问来源于stack exchange,提问作者Dani
相关产品推荐
相关产品推荐

