用户特定的数据检索

时间:2018-12-17 23:30:19

标签: java android firebase google-cloud-firestore

我目前正在做一个项目,要求我能够从Firestore中提取具有用户特定数据的信息。

此刻,我让应用程序创建了一个用户,并且能够读取特定的表。

我想知道是否有任何方法可以读取特定数据并将其保存到UserID

public String UID = FirebaseAuth.getInstance().getCurrentUser().getUid();

此刻我正在使用它来读取用户ID并将其保存到文档中,但是想知道最流行的用户特定数据检索方法是什么吗?

是否可以将文档设置为与用户ID相等并以此方式检索?

我只是想看看是否有多种方法可以做到这一点,什么是最受欢迎的方法。由于某种原因,我发现教程/文档很难获得,因此即使是指向它们的链接也将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

  

想知道最受欢迎的用户特定数据检索方法是什么吗?

假设您具有如下所示的数据库结构:

Firebase-root
  |
  --- users
       |
       --- uid
            |
            --- uid: "TheUidOfTheUser"
            |
            --- //other users details

一种推荐方法是像下面的代码行一样使用DocumentReference

String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
DocumentReference uidRef = rootRef.collection("users").child(uid);
uidRef.get(/* ... */);

第二种方法是使用Query,如下所示:

String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
Query query = rootRef.whereEqualTo("uid", uid);
query.get(/* ... */);

其中uid变量保存要搜索的用户uid的值。