Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在一次调用中获取Firebase中的子集合的子集合_Javascript_Firebase_Google Cloud Firestore - Fatal编程技术网

Javascript 如何在一次调用中获取Firebase中的子集合的子集合

Javascript 如何在一次调用中获取Firebase中的子集合的子集合,javascript,firebase,google-cloud-firestore,Javascript,Firebase,Google Cloud Firestore,我有一个firebase模式,如下所示: 帖子>帖子(文档)>评论>评论(收藏)>回复>回复(文档) const allComments=wait firebase .collection(“posts”) .doc(参数slug作为字符串) .collection('注释') .orderBy(“日期”、“描述”) .get() 如果我试图得到这样的回答: const allComments=wait firebase .collection(“posts”) .doc(参数slug作为字符

我有一个firebase模式,如下所示: 帖子>帖子(文档)>评论>评论(收藏)>回复>回复(文档)

const allComments=wait firebase
.collection(“posts”)
.doc(参数slug作为字符串)
.collection('注释')
.orderBy(“日期”、“描述”)
.get()
如果我试图得到这样的回答:

const allComments=wait firebase
.collection(“posts”)
.doc(参数slug作为字符串)
.collection('注释')
.doc(“一些随机id”)
.collection('回复')
.get()
我将只得到回复,这不是期望的输出。 我需要在一个电话中得到每个评论的回复。 因此,返回的对象将是每条注释,每条注释都包含一个回复对象。

Firestore查询是“肤浅的”,只返回被查询集合中的文档。他们不考虑任何来自子集合的文档。要从子集合获取文档,您需要为每个子集合进行另一个查询


最好是将所有注释和回复放在一个集合中,用布尔值标记它们,指示它们是否是回复,并在查询中使用它作为过滤器(如果需要)。收藏的大小不会对性能产生任何影响。

您现在的收藏有什么问题吗?你能用实际数据编辑这个问题来展示你所需要的具体例子吗?上面的代码只获取评论子集合,但我也需要回复集合。我添加了更多信息