Saya relatif baru dalam basis data waktu nyata firebase. Saya mencoba membuat userPosts tersedia untuk umum dan pengguna yang membuat kiriman harus dapat mengedit dan melihat kiriman mereka sendiri. Saya berjuang untuk membuat posting publik dan hanya pengguna yang memiliki posting yang harus mengeditnya. Di bawah, adalah aturan database firebase. Ketika saya mencoba mensimulasikannya untuk mengedit userPosts, itu ditolak. Tidak tahu mengapa itu terjadi. Maaf untuk bahasa Inggris saya yang buruk. Beri tahu saya jika saya perlu memberikan informasi lebih lanjut.

{
 "rules": {
   "users": {
     "$userId": {
       "profile" :{
         ".read": "$userId == auth.uid",
         ".write": "$userId == auth.uid",
       }
   }
}, 
    "userPosts":{
      ".read": "auth != null",
      "$userId": {
        //".write": "auth != null",
        ".write": "auth != null && auth.uid == $userId",
      }
    },

  }
}

Ini adalah gambar dari gambar simulasi firebase Detail simulasi Firebase

1
Noman 2 Maret 2020, 18:39

1 menjawab

Jawaban Terbaik

Di simulator Anda, UID Anda adalah d62cf9b9-265b..., tetapi hasil edit Anda adalah userPosts/userId secara harfiah.

Hasil edit Anda harus di userPosts/d62cf9b9-265b....

0
Stratubas 4 Maret 2020, 19:38