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

如何获取firestore子集合中的所有文档

梅逸清
2023-03-14

我现在有一个firestore,看起来像这样:

Collection('machines').doc(*machineID*).collection('reports').doc(*multiple docs reports*)

我使用的是Vue,我试图获取“报告”集合中的所有文档。

我可以得到一个报告:

reports: firebase.firestore()
  .collection('machine')
  .doc('machine_01')
  .collection('report')
  .doc('report_05')

但我无法得到整个子集合

reports: firebase.firestore()
  .collection('machine')
  .doc('machine_01')
  .collection('report')

这可能吗?我是新手,所以这可能是一个愚蠢的问题。

谢谢

编辑控制台中收到的错误消息是:

index.cjs.js?e89a:350 Uncaught (in promise) FirebaseError: Missing or insufficient permissions.
    at new FirestoreError (webpack-internal:///./node_modules/@firebase/firestore/dist/index.cjs.js:350:28)
    at JsonProtoSerializer.fromRpcStatus (webpack-internal:///./node_modules/@firebase/firestore/dist/index.cjs.js:14844:16)
    at JsonProtoSerializer.fromWatchChange (webpack-internal:///./node_modules/@firebase/firestore/dist/index.cjs.js:15335:44)
    at PersistentListenStream.onMessage (webpack-internal:///./node_modules/@firebase/firestore/dist/index.cjs.js:11305:43)
    at eval (webpack-internal:///./node_modules/@firebase/firestore/dist/index.cjs.js:11234:30)
    at eval (webpack-internal:///./node_modules/@firebase/firestore/dist/index.cjs.js:11274:28)
    at eval (webpack-internal:///./node_modules/@firebase/firestore/dist/index.cjs.js:1634:20)

我不确定权限,我没有访问权限,但如果是权限问题,我很困惑,我可以从集合中获取一个文档,但找不到获取所有文档的方法

共有1个答案

鲁杜吟
2023-03-14

由于您遇到权限缺失或不足错误。用户似乎无权访问您的数据库信息;因此,我将尝试以下几点:

// Allow read/write access on all documents to any user signed in to the application

service cloud.firestore {
  match /databases/{database}/documents {
     match /{document=**} {
      allow read, write: if request.auth.uid != null;
     }
  }
}

更多信息请点击这里

 类似资料:
  • 假设我有这种结构 其中和是集合,和是文档 有没有一种方法可以通过一个查询获得根文档中包含的所有内容<如果我这样问 我只得到字段。我想要的是B的所有文件 我基本上希望我的查询返回 是否可能或者我真的需要对每个集合进行多个查询:/? 假设我有一个代表用户配置文件的非常深的嵌套集合树,我的成本会像地狱一样上升,因为每次我加载用户配置文件时,我都有一个读取请求的乘数其中N是我的树的深度: /.

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

  • 我在我的FiRecovery数据库中查询子集合内的所有文档时遇到困难。(我使用的是Node.js) 我的目标是从名为 我看了看留档https://firebase.google.com/docs/firestore/query-data/get-data但没有任何结果如何解决问题。 我现在的问题是这样的: 但是我得到了

  • 我正在构建javascript服务,我想从“集合名称”和“文档ID数组”的输入中从firestore中获取所有子集合文档详细信息。 请求有效负载调用我的服务: 我需要搜索所有此msgId的所有子集合(所有文档的通用名称)文档。 我的消防仓库结构如下所示 示例: 在这种情况下,我需要获取msgId“11”,“22”的数据,这些数据在firestore中可用,其他值应发送null。你能不能帮你帮忙,不

  • 我试图设置一个聊天应用程序,在其中你可以搜索随机的用户交谈。现在,firestore中的数据库结构如下: 集合“users”-文档“userid”-集合“conversations”-文档“conversationid”-字段“partner”,“lastmessage” 其次,我有一个集合“conversations”,其中包含对话中的所有消息。 我现在尝试做的是,当你按下一个按钮时,应用程序将

  • 使用go和FireStore创建web应用程序。我遇到了一个奇怪的问题。如果使用NewDoc方法保存数据 我可以使用 现在,当我只想查找博客集合中的所有文档时,这是很棒的。但是我遇到了无法从blogs集合中查询特定blog的问题。我通过查看文档和保存类似的帖子来解决这个问题。 但是,由于我自己创建了docID,所以从整个集合中检索所有文档时使用