我有3个集合
1 -病例
3-业主(内箱收集)
2 -邀请在正常情况下,当用户添加邀请时,我检查托盘该操作的用户是否为所有者,从newDate
中取出caseId
,从auth.uid
中取出uid,并将这些数据与cases collection
中存在的数据进行比较
但是它总是拒绝给我许可。
// Any one have cases
"cases":{
".write" : "auth.uid != null"
// Store id of owner only when case created first time
"owner" : {
".write": "!data.exists()"
}
}
//only Owner of case can add invitations
"invitations":{
".write" :"root.child('cases').child(newData.child('caseId').val()).child('owner').child(auth.uid).exists()",
},
我发送给invitations
集合的数据是
Invitation(
endAt: DateTime.now().add(Duration(days: 1)),
id: invitationId,
caseId: caseId,
);
编辑当我尝试用caseId值代替newData.child('caseId').val()
作为静态字符串值时,它正在工作!!
对于谁面临这个问题,我是错误的,因为我使用newDate
在父母不是孩子,我将写,所以我把我的规则下"$invitationId"
和它的工作。
//only Owner of case can add invitations
"invitations":{
"$invitationId":{
".write" :"root.child('cases').child(newData.child('caseId').val()).child('owner').child(auth.uid).exists()",
}
},