Firebase/云Firestore/规则设置(读、写、更新、删除)

Firebase/云Firestore/规则设置(读、写、更新、删除),firebase,google-cloud-platform,google-cloud-firestore,firebase-security,Firebase,Google Cloud Platform,Google Cloud Firestore,Firebase Security,我在尝试配置云Firestore规则时遇到了一些问题 我试图访问文档中的字段,集合中的字段。。。像这样 Future<void> fetchAndSetProducts([bool filterByUser = false]) async { final filterString = filterByUser ? Firestore.instance.collection('products').getDocuments() : Firest

我在尝试配置云Firestore规则时遇到了一些问题

我试图访问文档中的字段,集合中的字段。。。像这样

 Future<void> fetchAndSetProducts([bool filterByUser = false]) async {
    final filterString = filterByUser
        ? Firestore.instance.collection('products').getDocuments()
        : Firestore.instance
            .collection('products')
            .where('creatorId', isEqualTo: userId)
            .getDocuments();
    try {
      QuerySnapshot prodSnap = await filterString;

      if (prodSnap == null) {
        return;
      }

buuut不起作用,我的应用程序端按用户筛选的代码也不起作用。

如果要匹配产品集合中的所有文档,它将如下所示:

service cloud.firestore {
  match /databases/{database}/documents {
    match /products/{productId}/documents{
    allow read: if resource.data.creatorId == request.auth.uid;
    }
  }
}
service cloud.firestore {
  match /databases/{database}/documents {
    match /products/{productId} {
      allow read: if resource.data.creatorId == request.auth.uid;
    }
  }
}

请注意,我在第二次匹配结束时删除了“文档”。

请编辑问题,解释哪些内容没有按您预期的方式工作,包括您调试过的客户端代码,并确定它到底在做什么。很好,谢谢!它没有按预期工作,但现在是:)