【问题标题】:Correlating with Firebase and Firestore与 Firebase 和 Firestore 相关联
【发布时间】:2019-04-07 20:19:46
【问题描述】:

是否可以将使用 Firebase 身份验证的“电子邮件 ID”与 Firestore 中固定集合下的所有文档中的电子邮件字段进行比较?

例如:如果一个人使用 Firebase 身份验证和管理活动注册 xyz@gmail.com,我将用户“电子邮件 ID”存储为 xyz@gmail.com

如果用户现在登录,他们点击查看我的详细信息按钮,他们可以查看详细信息吗?

我使用 whereEqualTo 进行比较,但没有发生 如何在所有文档中搜索电子邮件字段

【问题讨论】:

    标签: android firebase firebase-realtime-database firebase-authentication google-cloud-firestore


    【解决方案1】:

    是否可以将使用 Firebase 身份验证的“电子邮件 ID”与 firestore 中固定集合下所有文档中的电子邮件字段进行比较?

    是的,是的。首先,您需要从身份验证过程中获取登录用户的电子邮件地址,如下所示:

    String emailAddress = FirebaseAuth.getInstance().getCurrentUser().getEmail();
    

    假设您的“固定”集合如下所示:

    Firestore-root
        |
        --- users (collection)
             |
             --- uid (document)
                  |
                  --- emailAddress: "xyz@gmail.com"
    

    要将登录用户的电子邮件与数据库中的所有电子邮件地址进行比较,您需要使用以下查询:

    FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
    CollectionReference usersRef = rootRef.collection("users");
    Query query = usersRef.whereEqualTo("emailAddress", emailAddress);
    

    【讨论】:

      猜你喜欢
      • 2018-09-17
      • 2020-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-17
      • 2018-03-26
      相关资源
      最近更新 更多