gpt4 book ai didi

javascript - 是否可以从父集合(firebase cloud firestore)访问子集合?

转载 作者:行者123 更新时间:2023-12-01 00:49:20 24 4
gpt4 key购买 nike

我有一个如下所示的集合:

db.collection("col1/doc1/col2/doc2/col3/doc3/col4").get();

现在我必须获取所有集合collection2collection4

根据我目前的知识,我必须像下面这样分别获取它们:

db.collection("col1/doc1/col2").get();

db.collection("col1/doc1/col2/doc2/col3/doc3/col4").get();

我的期望是我想立即调用它 collection2

db.collection("col1/doc1/col2").get().then(snapshot=>{
//here something like snapshot.col3.col4
});

是否可以像snapshot.col3.col4那样?

为什么我要这样?

因为我不必从服务器调用它多次,所以它可以提高性能并使其更快。

最佳答案

Is it possible like snapshot.col3.col4?

不,不是。 Firestore 中的查询是浅查询,这意味着仅从运行查询的集合中获取项目。您无法同时从顶级集合和具有不同名称的子集合中获取文档。 Firestore 不支持一次性跨具有不同名称的不同集合进行查询。单个查询只能使用单个集合中文档的属性。

解决您的问题的可能方法是使用 Collection group queries ,但正如文档所述,所有集合都应具有相同的名称。

另一种解决方法可能是创建两个单独的查询并在客户端合并结果。为此,我建议您查看以下帖子中我的回答:

关于javascript - 是否可以从父集合(firebase cloud firestore)访问子集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57113912/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com