我创建了一个用于创建/更新/删除用户聊天消息的工作方法。我想知道是否有办法减少我的逻辑。
".write": "(!data.exists() && newData.child('uid').val() == auth.uid) || (data.child('uid').val() == auth.uid && newData.child('uid').val() == auth.uid) || (data.child('uid').val() == auth.uid && !newData.exists())"
多行可读性
(!data.exists() && newData.child('uid').val() == auth.uid) ||
(data.child('uid').val() == auth.uid && newData.child('uid').val() == auth.uid) ||
(data.child('uid').val() == auth.uid && !newData.exists())
看一看bolt
。https://github.com/firebase/bolt
您可以简化查询,然后编译输出。
path /somePath {
path /{uid} {
read() { isUser(uid) }
write() { isUser(uid) }
}
}
function isUser(uid) {
return auth != null && auth.uid == uid;
}
这真的很方便 - 尽管仍处于测试阶段,但它使规则更易于阅读和理解。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句