如何从 firestore 读取其他用户(不是 user.uid)的数据

Posted

技术标签:

【中文标题】如何从 firestore 读取其他用户(不是 user.uid)的数据【英文标题】:How can read data of other users (not user.uid) from firestore 【发布时间】:2022-01-13 04:51:52 【问题描述】:

我想从 firestore 读取未经身份验证的用户的数据 收集位置是 users->swipes->id

我的尝试没有成功


const querySnapshot = await getDocs(collection(db, "users",id,"swipes"));
querySnapshot.forEach((doc) => 
  // doc.data() is never undefined for query doc snapshots
  console.log(doc.id, " => ", doc.data());
);

我想在滑动中读取 id,而不是从 user.uid 这里用户中有 3 个用户 如果想从 user.uid 读取,很容易

collection(db, "users",user.id,"swipes")

如果想从其他用户那里阅读 我很困惑 请帮忙

【问题讨论】:

【参考方案1】:

如果您想读取所有用户的swiped 子集合,您需要use a collection group query。这种类型的操作会读取所有具有特定名称的集合。

在你的情况下是:

const querySnapshot = await getDocs(collectionGroup(db, "swipes"));
querySnapshot.forEach((doc) => 
  console.log(doc.id, " => ", doc.data());
);

【讨论】:

以上是关于如何从 firestore 读取其他用户(不是 user.uid)的数据的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Firestore 云数据库中读取文档中的 ArrayLists?

使用 exists() 的 Cloud Firestore 规则是不是算作读取?

如何从 kotlin 中的 firestore 读取映射数据

如何通过在 Firestore 中的查询从索引中获取多个文档到其他索引

如何从 Firestore 中读取使用 Kotlin 中的 hashMap 添加的文档?

无法从 Firestore 集合中读取