当前位置: 首页 > 知识库问答 >
问题:

Cloud FireStore:如何在我的集合查询中获取文档引用并将其映射为JSON值?

浦德明
2023-03-14

假设我有一个评论集。每个comment对象都有一个指向发帖用户的“doc ref”。我需要一个查询,它将返回一个注释列表,包括每个单个用户引用的值,因此我的查询返回一个很好的格式的Json注释对象。

共有1个答案

郏瀚
2023-03-14

这里有人问了一个类似的问题:firestore引用数据类型对什么有好处?我认为不可能按照这个答案https://stackoverflow.com/A/46570119/473453来做您所问的事情。

您必须自己加载每个引用,例如。

const comments = []
firebase.firestore().collection('/comments').get().then(snapshot => {
  snapshot.docs.forEach(doc => {
    const comment = doc.data()
    comment.userRef.get().then(snap => {
      comment.user = snap.data()
      comments.push(comment)
    })
  })
})

对于许多注释,这将增加大量的开销。也许您可以编写一个CloudFunction,在服务器端为您所有人完成工作,并返回一个格式化的JSON。

看来他们将来可能会通过https://stackoverflow.com/a/46614683/473453来支持这个功能

 类似资料:
  • 我在使用firestore查询“wherequalto”时遇到了麻烦。我试图从一个名为“参与者”的集合中获取图像,但当文档不存在时,应该使用else语句并移动到更新文档的下一个活动。但是在onComplete侦听器(即任务)中从集合中查询文档时,文档没有退出,而是代码运行到if(Task.issucessful){}中,并且没有使用else语句。我的代码:有谁能帮我吗?谢谢

  • 模型feed.ts 新闻feed.component模板 news-feed.component.ts feed.service.ts 这可以做消防商店吗?我是消防商店的新手。请帮帮我。谢谢!

  • 问题内容: 对于我的应用程序而言,至关重要的是能够从Firebase的集合中随机选择多个文档。 由于Firebase(我知道)没有内置本机函数来实现执行此操作的查询,因此我的第一个想法是使用查询游标选择随机的起始索引和终止索引,前提是我拥有​​其中的文档数集合。 这种方法行之有效,但只能以有限的方式进行,因为每次每次文档都会与其相邻文档一起依次送达。但是,如果我能够通过其父集合中的索引选择一个文档

  • 我目前有API返回的以下json响应。我能用拉威尔的口才把它还给你。有几个用户,每个用户都有几个收据。收据具有类型和状态。我想尝试获取与类型和状态相关的每个收据的总金额。我能够使用

  • 是否有方法获取将文档添加到集合后生成的文档id? 如果我将文档添加到代表社交媒体软件中“帖子”的集合中,我想获取该文档ID并将其用作不同集合中另一个文档中的字段。 如果我无法获取添加文档后生成的文档Id,我是否应该计算一个随机字符串,并在创建文档时提供Id?这样我就可以使用与其他文档中的字段相同的字符串了? 快速结构示例:

  • 如何使用JavaScript获取Firebase Firestore子集合“userPosts”中的所有文档?你可以在下面的图片中看到我的数据库结构。 以下是我尝试过的: 这段代码应该做的是获取子集合“userPosts”中的文档。它应该进入集合“posts”中的每个文档,然后进入“userPosts”并获取该子集合中的每个文档。 第一次收集“帖子” 子集合“userPosts”