【发布时间】:2021-09-11 21:43:26
【问题描述】:
我想实现一个规则,检查当前节点中输入的新数据是否低于我在同一请求中更新的另一个节点中的新数据。 我用一些代码解释自己:
// x1 and x2 are some Integer
let update : [String : Any] = [
"/Users/\(userId!)/A" : ServerValue.increment(NSNumber(value : x1)),
"/Feedback/\(userId!)/B" : x2
]
dbRef.updateChildValues(update)
这是规则:
".validate" : "newData.isNumber() && (root.child('Users').child('$uid').child('A').val() >= newData.val())"
我有两个问题:
- 由于 B 的安全规则取决于 A 的新值,我确定 A 在 B 的更新之前已被修改(因为在代码中,A 的更新放在 B 的更新之前)。
- 为什么我的 B 规则不起作用(无论 B 是在 A 之前还是之后更新,因为我的测试差异如此之大以至于它不应该拒绝请求),我见过类似的例子在网上挖掘,语法看起来不错。
感谢您的关注!
【问题讨论】:
标签: ios swift firebase firebase-realtime-database firebase-security