Récupération des données:
Dans votre base de données, vous utilisez un identifiant aléatoire généré à l'aide de push()
, donc si vous souhaitez récupérer les données, procédez comme suit:
Utilisation de Firebase dans l'application Android:
DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("users");
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot datas : dataSnapshot.getChildren()) {
String name=datas.child("name").getValue().toString();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Utilisation de Firebase en Javascript:
firebase.database().ref().child("users").on('value', function (snapshot) {
snapshot.forEach(function(childSnapshot) {
var name=childSnapshot.val().name;
});
});
Ici, vous avez l'instantané (emplacement des données), users
puis vous bouclez à l'intérieur de tous les identifiants aléatoires et récupérez les noms.
Récupération des données pour un utilisateur spécifique:
Maintenant, si vous souhaitez récupérer des informations pour un utilisateur spécifique uniquement, vous devez ajouter une requête:
Utilisation de Firebase dans l'application Android:
DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("users");
Query queries=ref.orderByChild("name").equalTo("Alex");
queries.addListenerForSingleValueEvent(new ValueEventListener() {...}
Utiliser Firebase avec Javascript
firebase.database().ref().child("users").orderByChild("name").equalTo("Alex").on('value', function (snapshot) {
snapshot.forEach(function(childSnapshot) {
var name=childSnapshot.val().name;
});
});
Utiliser orderByChild("name").equalTo("Alex")
revient à dire where name="Alex"
qu'il récupérera les données liées à Alex.
Meilleur moyen:
La meilleure chose à faire est d'utiliser l'authentification Firebase, générant ainsi un identifiant unique pour chaque utilisateur et en l'utilisant à la place d'un identifiant aléatoire push()
, de cette façon, vous n'avez pas à parcourir tous les utilisateurs puisque vous avez l'identifiant et pouvez facilement y accéder.
Tout d'abord, l'utilisateur doit être connecté, puis vous pouvez récupérer l'identifiant unique et attacher un écouteur pour récupérer les autres données de cet utilisateur:
Utilisation de Firebase avec Android:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference("users");
String uid = FirebaseAuthentication.getInstance().getCurrentUser().getUid();
ref.child(uid).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String name=dataSnapshot.child("name").getValue().toString();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Utilisation de Firebase avec Javascript:
var user = firebase.auth().currentUser;
var uid=user.uid;
firebase.database().ref().child("users").child(uid).on('value', function (snapshot) {
var name=snapshot.val().name;
});