我在我的应用程序中使用firebase数据库。我的应用程序是一个具有挑战性的应用程序,用户在彼此之间输入挑战。在我的安全规则中,我仅允许用户根据用户点从该数据中编辑自己的数据库中的数据。我有一个问题是,当两个用户在挑战中被吸引时,他们两个都应增加一个点,因此如果他对当前用户开放,则我需要允许firstUser(player)编辑这些点,或者至少允许用户编辑他的数据但使其他用户能够改变他的观点。我该如何实现?
这是我对用户子规则:
"users":{
//".write":"auth.uid == \"DFhNb28506Y345CpJ3Ye7DQNn713\" || ((newData.exists() && data.child(\"userEmail\").val() != null) || auth.token.email == data.child(\"userEmail\").val())",
".read": "auth != null",
"$userId": {
// ".write": "auth != null"
".write": "(!data.exists() && newData.exists() && auth != null) || auth.token.email == data.child(\"userEmail\").val() || auth.uid == \"DFhNb28506Y345CpJ3Ye7DQNn713\""
//".validate": "newData.hasChildren(['title', 'author', 'timestamp'])",
}
数据库结构如下:
root
-usrers
-usrer1
-userName, points....
-user2
-userName, points....
-.......
我要允许什么?我想允许用户将其数据的所有子级都编辑为userName,points等。并允许所有用户仅编辑任何用户的点。