【问题标题】:firestore get document with his childrenfirestore 与他的孩子一起获取文件
【发布时间】:2023-03-05 21:17:01
【问题描述】:

我有一个 users 集合,每个用户都有一个名为“settings”的子集合,“settings”有像 ids“option1”、“option2”这样的文档

return this.fireStore.doc(`users/${user.uid}`).valueChanges()

所以我还需要获取包含所有文档选项的用户设置,例如

  userA =  {
    username:'name',
    email:'email@email',
    settings:{
    option1 :{data},
    option2 :{data}
  }}

【问题讨论】:

  • 如果需要,请尝试返回 this.fireStore.doc(users/${user.uid}/settings/option1).valueChanges() 或 this.fireStore.collection(users).doc(${user.uid}).collection(settings)两种选择。或者您可以将设置与电子邮件放在同一个文档中。
  • 我按照你说的做了,但它返回的设置集合没有用户详细信息

标签: angular firebase google-cloud-firestore


【解决方案1】:

Firestore 中没有 API 可以一次性从多个集合中获取文档。您必须使用两个单独的调用:一个用于主 user 文档,另一个用于 settings 子集合中的所有文档。

【讨论】:

  • 感谢您的帮助,但您可以举个例子
  • 请注意,Firestore 现在有collection group queriesaggregating queries 上的一些有用文档。
  • 正确,尽管即使使用集合组查询,您也只能查询同名的集合,并且您只能从具有该名称的集合中获取文档。仍然没有加载包含子集合的文档。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-27
  • 1970-01-01
  • 2021-10-26
  • 1970-01-01
  • 2018-11-20
  • 2019-02-24
相关资源
最近更新 更多