только пользователь может изменить, имеет собственные данные в Firebase - PullRequest
0 голосов
/ 24 января 2019

Я хочу, чтобы только пользователь мог создавать новые сообщения, и только пользователь может изменять только те сообщения, которые они создали. Как удалить или изменить!

структура базы данных

{
  "post" : {
    "-LWzHsKzAyK9Wfa1kbD_" : {
      "name" : "test",
      "title" : "test",
      "userId" : "8D3sENaBcLaXoGNnh1MPuoyj5LP2"
    },
    "-LWzHx6u-gQ7XoVR714a" : {
      "name" : "check",
      "title" : "check",
      "userId" : "WUM2HBkGo8TFDeOjEqO1s3lCj1p1"
    }
  }
}

Я использовал эти правила, но получил ошибку при сохранении No such method/property 'userId'.

{
    "rules": {
    ".read": false,
    ".write": false,
        "report": {
        ".read": "auth != null",
        ".write": "auth != null && ( (data.exists() && data.userId === auth.uid) || !data.exists() || !newData.exists() )"
        }
    }
}

1 Ответ

0 голосов
/ 24 января 2019

Вы не можете просто использовать нотацию доступа к свойству, чтобы получить дочернее значение данных.Вы должны вызвать функцию child(), чтобы получить дочерний элемент, и функцию val(), чтобы получить ее значение.

Итак:

data.child('userId').val() === auth.uid
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...