2016-10-16 2 views
1

Я пытаюсь создать базу данных firebase отдельно для каждого пользователя.Создать базу данных firebase

Я видел, что мне нужно, чтобы объявить:

FirebaseDatabase database = FirebaseDatabase.getInstance(); 
DatabaseReference myRef = database.getReference(**REF**); 

Что такое REF хотя?

+0

Одна база данных на одного пользователя на самом деле не очень хорошая конструкция. Вы можете ограничить данные, к которым пользователь имеет доступ, путем добавления идентификатора пользователя к каждой связанной записи, затем вы можете фильтровать –

ответ

1

По умолчанию database.getReference() дает по умолчанию DatabaseReference пути по умолчанию.

database.getReference(**REF**) получает DatabaseReference для предоставленного пути.

Acc. в Firebase Официальный Docs

enter image description here

0

A DatabaseReference является локальная ссылка (думаю: указатель) на место в вашей базе данных.

При запуске этого:

DatabaseReference rootReference = database.getReference(); 

Вы получаете ссылку на корень вашей базы данных:

/ <root> 

От этого корня вы можете получить ссылки на дочерние узлы в базе данных:

DatabaseReference usersRef = rootReference.child("users"); 

usersRef указывает на:

/ <root> 
    users 

Вы можете даже указать полный путь при вызове child(), чтобы получить указатель в любом месте базы данных/дерева:

DatabaseReference myProfilePicRef = rootRef.child("users/myuid/avatarURL"); 

И myProfilePicRef будут ссылаться на этот URL

/ <root> 
    users 
     myuid 
      avatarURL: "https://www.gravatar.com/avatar/12d378e6a9788ab9c94bbafe242b82b4?s=48&d=identicon&r=PG" 

Наконец чтобы перейти к коду в своем вопросе: вы можете указать путь, который хотите сослаться, когда вы вызываете get getReference. Таким образом, это приведет к ссылке на те же самые местоположения, что и раньше:

DatabaseReference rootRef = database.getReference(); 
DatabaseReference usersRef = database.getReference("users"); 
DatabaseReference myProfilePicRefRef = database.getReference("users/myuid/avatarURL"); 
Смежные вопросы