使用规则在Firebase Cloud Firestore中禁用查询集合 [英] Disable querying collection in Firebase Cloud Firestore with rules

查看:73
本文介绍了使用规则在Firebase Cloud Firestore中禁用查询集合的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Firebase Cloud Firestore,并且我想修改规则以限制用户查询集合.

I am using Firebase Cloud Firestore, and I want to modify my rules to restrict users from querying a collection.

这不应该被允许:

firestore().collection("users").get()

但这应该允许:

firestore().collection("users").doc("someUserId").get()

目前,我的规则如下:

match /users/{userId} {
    allow read;
}

但是此规则允许查询用户"集合.

but this rule allows the "users" collection to be queried.

如何允许获取单个文档,但不允许集合查询?

How can I allow single document gets, but not collection queries?

推荐答案

您可以将读取规则分为获取列表.获取规则适用于单个文档的请求,列表规则适用于对集合的查询和请求(文档).

You can break read rules into get and list. Rules for get apply to requests for single documents, and rules for list apply to queries and requests for collections (docs).

match /users/{userId} {

  //signed in users can get individual documents
  allow get: if request.auth.uid != null;

  //no one can query the collection
  allow list: if false;
}

这篇关于使用规则在Firebase Cloud Firestore中禁用查询集合的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆