Данные для конкретной пользовательской базы данных

#android #firebase #firebase-realtime-database

# #Android #firebase #firebase-база данных в реальном времени

Вопрос:

Я прочитал документацию по базе данных Firebase и понимаю основы. Но что, если я хочу, чтобы у каждого пользователя был свой собственный «список»?

Итак, каждый пользователь загружает свой собственный список и редактирует, в основном CRUD — это их собственный список? Я уже создал аутентификацию, но я не уверен, как поступить здесь?

Ответ №1:

Таким образом, вы должны хранить данные для каждого пользователя под своим собственным идентификатором пользователя (uid):

 userdata
    <uid>
        data1: value1
        data2: value2
 

Теперь каждый пользователь может читать свои собственные данные с:

 var currentUser = firebase.auth().currentUser;
var ref = firebase.database().ref('userdata').child(currentUser.uid);
ref.on('value', function(snapshot) {
  console.log(snapshot.val());
});
 

Кстати, это синтаксис JavaScript. Переведите его на Android с помощью руководства по Android: https://firebase.google.com/docs/database/android/start /

А затем вы защищаете доступ к этим данным с помощью этих правил:

 {
  "rules": {
    "userdata": {
      "$uid": {
        ".read": "auth.uid == $uid",
        ".write": "auth.uid == $uid"
      }
    }
  }
}
 

Ответ №2:

Добавьте поле с именем пользователя / идентификатором к каждой записи и выполните фильтрацию по этому полю