当用户注册并在Firestore中初始化数据时,我想确认他们没有尝试设置自己的角色(例如,因此他们没有将其设置为“ admin”)。
我试图写这个:
match /users/{userId} {
allow create: if (signedInAs(userId) && !request.resource.data.role) || isAdmin();
...
...但是我只看到“对象上的属性角色未定义。”
是否可以安全地执行此操作?还是这意味着我应该总是初始化期望的字段,即使只是空字符串也是如此?这似乎与NoSQL的理念不太吻合?
答案 0 :(得分:6)
答案 1 :(得分:0)
如果其他解决方案无效,请尝试writeFields
。
!("role" in request.writeFields)