【发布时间】:2021-12-15 15:42:44
【问题描述】:
我有一个users 的集合,我有一个单独的usernames 集合。在我的集合usernames 中,我将不同的用户名存储为doc_ids。也就是说,在集合usernames 下,我可以将doc_ids 设为first、second、third,等等。在每个doc_id 下我存储以下信息:
{
ownerId: id,
dateUpdated: someDate
}
当我更改某些用户的用户名时,我会执行批处理查询,首先删除oldUsername 文档,然后插入带有相应字段的newUsername 文档。我的问题是关于与usernames 集合相关的安全规则之一。我是否需要检查,如果我已经有这样的用户名(就是这样的doc_id)。我是否需要以下规则:
match /usernames/{username} {
allow create: if !exists(/databases/$(database)/documents/usernames/$(username))
}
我认为这条规则是多余的,因为我正在强制集合 id 的唯一性,但我已经在其他一些帖子上看到了它,所以我想看看其他人的意见。
【问题讨论】:
标签: google-cloud-firestore firebase-security