Ist es möglich, ein Kind aus einem Objekt ohne das gesamte Elternteil in Firebase
Holen Sie sich zum Beispiel eine Kundenregistrierung, wo ich alle "Name" Felder benötigen, aber ich habe den Benutzer nicht "uid". ...Zugriff auf Firebase Kinder ohne UID
Antwort
Alex Antwort wird funktionieren (mit meinem Kommentar für ein gutes Maß).
Aber Sie sollten wissen, dass dies alle Daten aller Benutzer herunterlädt. In der Firebase-Datenbank gibt es keine Möglichkeit, nur eine Eigenschaft jedes Knotens herunterzuladen. Wenn Sie also nur die Liste der Namen effizient herunterladen möchten, sollten Sie genau das in der Datenbank behalten: eine Liste von Namen.
usernames
uid1: "Fernando"
uid2: "Alex"
diese Weise können Sie nur die Liste der Namen mit lesen:
DatabaseReference usernamesRef = FirebaseDatabase.getInstance().getReference().child("usernames");
usernamesRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
String uid = childSnapshot.getKey();
String name = childSnapshot.getValue(String.class);
}
Ja, es ist möglich. Bitte verwenden Sie diesen Code:
DatabaseReference yourRef = FirebaseDatabase.getInstance().getReference().child("usuarios");
usersRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
List<String> list = new ArrayList<>();
for (DataSnapshot ds : dataSnapshot.getChildren()) {
String uId = (String) ds.getKey();
String nome = ds.getChild("nome").getValue(String.class);
list.add(nome);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException(); // don't ignore errors
}
});
Sie zuerst Iterierte, um diese UID zu erhalten und dass sie, nachdem sie in der DatabaseReference
verwenden.
Ich hoffe, es hilft.
Der erste Hörer alle 'usuarios' wird gelesen. Der zweite Listener wird nicht benötigt, Sie können einfach 'ds.getChild (" nome "). GetValue (String.class)' in der Schleife verwenden. –
@FrankvanPuffelen Du hast recht Frank, danke! –
Und wenn im Fall @AlexMamo ich möchte alle "Namen" innerhalb einer Liste einfügen wie? –
- 1. Zugriff auf ein uid Firebase
- 2. Firebase-Kinder zu RecyclerView
- 3. Überprüfen Sie abgerufene Firebase UID auf Server
- 4. Zugriff auf alle Firebase Benutzerinformationen
- 5. google signin uid & firebase uid stimmen nicht überein, nachdem Firebase auf 9.2.0 aktualisiert wurde
- 6. Firebase Login - Wie UID zurücksetzen?
- 7. hat nur Kinder .WRITE Regel [Firebase]
- 8. Iterieren Firebase Kinder mit nicht sequentiellen id
- 9. Firebase Hosting - Zugriff auf APIs?
- 10. Zugriff auf Benutzerinformationen über Aktivitäten Firebase Android
- 11. durch Kinder Suche Werte Firebase/Swift
- 12. Firebase-Datenkappe für Kinder
- 13. Firebase JavaScript Kinder Vergleich
- 14. Firebase Anzahl Kinder
- 15. Firebase: Neu hinzugefügte Kinder
- 16. Möglicher Kurzlink zu Firebase UID generieren?
- 17. Firebase - benutzerdefinierte Daten von UID abrufen
- 18. Nicht ohne Zustimmung von uid
- 19. So speichern Firebase-Benutzer unter UID
- 20. Firebase Database nur bestimmte Kinder hören
- 21. Zugriff auf Werte von Children Firebase
- 22. Wie Benutzer UID von Firebase auf Android bekommen?
- 23. Firebase lesen: "$ uid == auth.uid" gibt Fehler
- 24. Firebase/Android - Load User von UID
- 25. Firebase: Benutzer-UID mit Datenbank verbinden
- 26. schreiben Firebase Auth Benutzer UID Datenbank
- 27. Zugriff auf Kinder von kopierten Uipanel (Matlab)
- 28. Paginieren chronologisch Kinder priorisiert Firebase
- 29. Firebase Regeln Zugriff auf Daten
- 30. Zugriff auf Firebase Angular2 Versprechen
Definitiv, das ist die richtige Antwort. –
Danke für den Tipp @FrankvanPuffelen, es hat sehr geholfen –
Gut zu hören. Wenn meine Antwort nützlich war, klicken Sie auf den Upvote-Button links davon. –