2017-07-20 4 views
0

machen In meinem Fall möchte ich Filter basierend auf "Rolle" anwenden. Ich möchte nur Benutzer mit Rollennamen ist "ashish". Ich habe versucht, .indexOn-Regel in der Datenbank zu setzen, aber ich kann kein Ergebnis erhalten. Meine Datenbank-Struktur wie unten enter image description hereWie Abfrage basierend auf Index Array in Firebase

Und exportiert json für einzelne Benutzer wie unten:

{ 
    "email" : "ashish.com", 
    "firebaseToken" : "fZb3Oh7SAuc:", 
    "role" : [ "ashish", "parmar" ], 
    "uid" : "3S8ZPyDxsAgEiFailICZMA9m5WG3" 
} 

Antwort

0

Zunächst einmal würde ich Ihnen nicht empfehlen Filter auf den Index zu verwenden, da Sie nicht wissen, welchen Index der Array haben den Wert der Rolle. Ich würde empfehlen, stattdessen die Datenstruktur zu verwenden.

{ 
    "users": { 
    "uid001": { 
     "email": "[email protected]", 
     "role": { 
     "ashish": { 
      "userRole": "ashish" 
     }, 
     "parmar": { 
      "userRole": "parmar" 
     } 
     } 
    } 
    }, 
    "userRole": { 
    "ashish": { 
     "uid001": { 
     "userID": "uid001" 
     } 
     }, 
     "uid002": { 
     "userID": "uid002" 
     } 
     }, 
    } 
    } 
} 

Mit userRole können Sie Abfragen durchführen, welche UID die spezifische Rolle hat.

Verwandte Themen