Firebase-Sicherheitsregel für ein Array von Nachrichten

Ich versuche, eine Liste der Nachrichten basierend auf dem Empfänger anzuzeigen, aber lassen Sie es uns vorerst einfach halten. Ich versuche nur, eine Liste der Nachrichten anzuzeigen.

Meine Regel sieht so aus

{
"rules": {
  "communications" : {
    "$communication":{
      ".read" : true,
      ".write": true
    }
  }
}

Aus irgendeinem Grund möchte meine Anwendung es jedoch nicht lesen

fireRef = new Firebase(url);
fireRef.auth(MY_TOKEN);
commsRef = fireRef.child('communications')
$scope.communications = $firebase(commsRef)

Es funktioniert nur, wenn ich eine Regel habe, die wie folgt aussieht:

{
"rules": {
  "communications" : {
    ".read" : true,
    ".write": true
  }
}

Aber das verursacht ein Problem, da ich eine Bedingung für den untergeordneten Knoten meiner Kommunikation hinzufügen möchte. Etwas wie

{
"rules": {
  "communications" : {
    ".read" : true, ### I would like to get rid of this line as well and have the child handling it
    ".write": true,

    "$communication":{
      ".read" : "data.child('to').val() == auth.uid"
    }
  }
}

Ich gehe davon aus, dass dies daran liegt, dass ich eine $ firebase für die Kommunikation habe und einige Lese- oder Schreibregeln benötige. Aber wie erhalte ich das Ereignis, wenn eine neue Nachricht hinzugefügt wird?

Vielen Dan

Antworten auf die Frage(1)

Ihre Antwort auf die Frage