Firestore 如何防止创建新集合?

Firestore how to prevent creating new collections?

我们知道如何编写安全规则来限制对集合的操作,但是,如何拒绝创建新集合?

只允许写入安全规则中的特定集合是一个两步过程

  1. 拳头disallow writing to any documents顶层
  2. 然后有选择地允许在您要允许的集合中写入文档。

例如(仅允许访问 users 集合):

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if false;
    }
    match /users/{userId} {
      allow read, update, delete: if request.auth != null && request.auth.uid == userId;
      allow create: if request.auth != null;
    }
  }
}