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

云火如何找到包含特定文档ID的子集合的所有文档?

濮金鑫
2023-03-14

我试图实现一种在Firestore中保持一致性的方法,但我需要一种找到重复数据存在的所有位置的方法。firestore中是否有方法查找其子集合包含具有特定文档ID的文档的所有文档?例如对于以下结构

Users(collections){
    1234(document){
        Name: 
        Friends(collection){
            5678(document) {
                Name: 
            }
            9012(document) {
                Name:
            }
    }
    5678(document){
        Name:
    }
}

我将使用什么查询来查找其“朋友”列表包含文档 ID 为 5678 的文档的所有用户 ID?例如,当用户 5678 决定更改他/她的姓名时?

共有1个答案

艾国安
2023-03-14

不完全是。早在5月份,就引入了集合组查询,允许您搜索具有相同名称的所有集合,但这种限制对于您的用例不起作用,因为您的用户存储在用户中,他们的朋友存储在朋友中。

如果朋友被重命名以匹配用户并且id也存储在文档中,则可以使用这种类型的查询:

let friends = db.collectionGroup('users').where('id', '==', id);
friends.get().then(function(querySnapshot) {
  querySnapshot.forEach(function(doc) {
    console.log(doc.id, ' => ', doc.data());
  });
});

https://firebase . Google . com/docs/firestore/query-data/queries # collection-group-query

 类似资料:
  • 我正在使用Java开发一个Android应用程序,我使用firestore数据库,我有一个名为用户位置的集合,其结构类似于照片: 分贝 我的问题是,当一个用户改变他的位置或一个新用户进入一个已经存在的位置(其他用户有相同的位置)时,它会创建一个新文档(如在“oran, algerie”中)。当我添加新用户并更新文档时,我想使用,但问题是我无法以正常方式检索根集合的所有文档: 它返回null。我尝试

  • 我在MonoDB集合中有100k个文档,有20k个文档/记录。我想查找该特定文档使用的内存。 请帮助我在MongoDB控制台中查找内存大小(MB)。

  • 我试图检索一个索引中的所有文档,但只得到_id字段。 基本上,我想检索我拥有的所有文档ID。 使用时: 我得到的命中包含:" _index "、" _type "、" _id "、" _score "、" _source ",这比我需要的要多得多。 编辑(回答):所以我的问题是我使用KOPF来运行查询,结果不准确(得到了_source等等…)!当使用curl时,我得到了正确的结果! 所以上面的查询

  • 我现在有一个firestore,看起来像这样: 我使用的是,我试图获取“报告”集合中的所有文档。 我可以得到一个报告: 但我无法得到整个子集合 这可能吗?我是新手,所以这可能是一个愚蠢的问题。 谢谢 编辑控制台中收到的错误消息是: 我不确定权限,我没有访问权限,但如果是权限问题,我很困惑,我可以从集合中获取一个文档,但找不到获取所有文档的方法

  • 问题内容: 想要改善这篇文章吗? 提供此问题的详细答案,包括引文和为什么答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我试图找到一种方法来扫描我的整个Linux系统,以查找包含特定文本字符串的所有文件。只是为了澄清,我正在文件中寻找文本,而不是在文件名中寻找文本。 当我查找如何执行此操作时,我两次遇到此解决方案: 但是,它不起作用。似乎显示了系统中的每个文件。 这接近正确的方法吗?如果没

  • 如何查找在其文件内容中包含特定文本字符串的所有文件? 下面不行。它似乎显示了系统中的每一个文件。