0

Das Beispiel zeigt die Parkplatzauflistung in einem Land. Der Grund, die Datenbank mit einer userParkingDistanceMap zu strukturieren, ist die Sortierung nach Entfernung zwischen dem aktuellen Benutzer und allen Parkplätzen.Datenbankregeln der Firebase-Konsole: So indexieren Sie die Datenbankstruktur in Datenbankregeln

Die Datenbankabfrage ist .orderByChild("userParkingDistanceMap/" + getUid()).

Also, wie könnte ich diese userParkingDistanceMap in Datenbankregeln indizieren?

"parkingSpacesTokyo" : { 
    "parkingId5" : { 
     "parkingName" : "MY-PARKING-NAME", 
     "parkingQuantity" : 70, 
     "userParkingDistanceMap" : { 
     "uid-uid-uid-uid-uid-uid-uid" : 7983, 
     "9EAiImOh4ZUnqJ7em51u81FukD73" : 9456, 
     "AG84p8KJgANuobRJ5pn1ipxULFB3" : 8336, 
     "yYLVffMFsBQhsGHNWuPOksMDgip2" : 7983, 
     "yp6mZm2SPVhz5pOq57tSEZ40piJ2" : 7983 
     } 
    }, 
    "parkingId6": { 
     ... 
    } 
}, 
"parkingSpacesYOKOHAMA" : { 

} 
+0

scheint zu kompliziert. – shortstopmin

Antwort

0

Also im Grunde könnte man die Referenz durch so etwas wie

final FirebaseDatabase database = FirebaseDatabase.getInstance(); 
DatabaseReference ref = database.getReference("parking"); 


ref.addListenerForSingleValueEvent(valueEventListner); 

initialisiert wo valueEventListner sind:

ValueEventListner valueEventListner = new ValueEventListener() 
    { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) 
     { 
     for(DataSnapshot childDataSnapshot: dataSnapshot) 
      { 
      DatabaseReference parkindId = ref.child(dataSnapshot.getKey); 
      for(DataSnapshot parkingIdSnapshot : childDataSnapshot) 
       { 
       if(parkindIdSnapshot.hasChildren()) 
        { 
        for(DataSnapshot distanceMap : parkingIdSnapshot) 
         { 
         String value = distanceMap.getValue(String.class); 
         } 
        } 
       } 
      } 
     } 
    @Override 
    public void onCancelled(DatabaseError databaseError) 
     {} 
    }); 

Nun ich diesen Code nur in direkter Antwort geschrieben, so dass es Art von psudo ist Code also im Grunde könnten Sie die Idee dazu haben. Viel Glück.

+0

Entschuldigung, was ich meine, ist die Indexierung der Datenbankregeln in der Firebase-Konsole – shortstopmin

Verwandte Themen