Отримання даних:
У вашій базі даних ви використовуєте випадковий ідентифікатор, який генерується за допомогою push()
, тому, якщо ви хочете отримати дані, виконайте наступне:
Використання Firebase в додатку для 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) {
}
});
Використання Firebase у Javascript:
firebase.database().ref().child("users").on('value', function (snapshot) {
snapshot.forEach(function(childSnapshot) {
var name=childSnapshot.val().name;
});
});
Тут ви маєте знімок (розташування даних), після users
чого ви замикаєтесь у всі випадкові ідентифікатори та отримуєте імена.
Отримання даних для конкретного користувача:
Тепер, якщо ви хочете отримати інформацію лише для конкретного користувача, вам потрібно додати запит:
Використання Firebase в додатку для Android:
DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("users");
Query queries=ref.orderByChild("name").equalTo("Alex");
queries.addListenerForSingleValueEvent(new ValueEventListener() {...}
Використання Firebase з Javascript
firebase.database().ref().child("users").orderByChild("name").equalTo("Alex").on('value', function (snapshot) {
snapshot.forEach(function(childSnapshot) {
var name=childSnapshot.val().name;
});
});
Використовувати orderByChild("name").equalTo("Alex")
все одно, що говорити, where name="Alex"
тому ви отримаєте дані, пов'язані з Алексом.
Кращий спосіб:
Найкраще - використовувати автентифікацію Firebase, таким чином генеруючи унікальний ідентифікатор для кожного користувача та використовуючи його замість випадкового ідентифікатора push()
, таким чином вам не доведеться перебирати всіх користувачів, оскільки у вас є ідентифікатор, і ви можете легко отримати доступ до нього.
По-перше, потрібно ввійти в систему, потім ви можете отримати унікальний ідентифікатор і приєднати слухача, щоб отримати інші дані цього користувача:
Використання Firebase з 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) {
}
});
Використання Firebase з 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;
});