【发布时间】:2017-09-10 01:28:27
【问题描述】:
关于这个还有一些其他(较旧的)问题,但由于它们已经有几年的历史了,我很好奇是否有关于这个的更新。我想制作一个彩票动画,用户可以在其中购买彩票。一切进展顺利,但我想确保售出的门票永远不会超过一千张。它必须是服务器端,这些是我的规则:
"Lottery": {
".read": "auth != null",
".write": "auth != null",
"counter": {
".validate": "newData.isNumber() && newData.val() > 0 && newData.val() <= 1000 && ((!data.exists() && newData.val() === 1) || (newData.val() === data.val()+1))"
},
"tickets":{
"root.child('Lottery/counter/').val() === someValueYouNeedItToEqual"
}
}
我不知道在 someValueYouNeedItToEqual 上写什么。我担心这个系统的工作。我的目标是将用户的 UID 写入服务器,如果该值(我可以在客户端搜索可用点,该值可以是 0 到 1000 之间的 Int)是免费的,则被接受。当所有点都被取走(一个节点中有 1000 个子节点)时,它应该被拒绝。我希望有人可以帮助我弄清楚所需的验证规则。谢谢。
【问题讨论】:
标签: ios swift firebase firebase-realtime-database firebase-security