Firestore安全规则检查文档密钥更改

问题描述 投票:1回答:1

我们是否能够在Firestore安全规则中检查文档中的哪个键已更改?然后检查已更改的对象?我试图解决这个问题我遇到了很多麻烦。很难测试。

谢谢Ryann

angular firebase firebase-security google-cloud-firestore
1个回答
2
投票

注意:我了解到,在所有情况下都没有填充writeFields与控制台中的规则模拟器不兼容。这不包括allow create的情况。我不再推荐这个答案。

request.writeFields包含请求中更改的字段的键列表。 request.resource.data包含请求中的值,resource.data包含当前值。例如:

// Allow an update if only the name field is changing and
// only if it's not equal to the current last_name field

allow update: if request.writeFields.size() == 1
             && 'name' in request.writeFields
             && request.resource.data.name != resource.data.last_name;
© www.soinside.com 2019 - 2024. All rights reserved.