Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 与Firebase和Firestore相关_Android_Firebase_Firebase Realtime Database_Firebase Authentication_Google Cloud Firestore - Fatal编程技术网

Android 与Firebase和Firestore相关

Android 与Firebase和Firestore相关,android,firebase,firebase-realtime-database,firebase-authentication,google-cloud-firestore,Android,Firebase,Firebase Realtime Database,Firebase Authentication,Google Cloud Firestore,是否可以将使用Firebase身份验证的“电子邮件id”与Firestore中固定集合下所有文档中的电子邮件字段进行比较 例如:如果一个人使用xyz@gmail.com使用Firebase身份验证和管理活动,我将用户“电子邮件id”存储为xyz@gmail.com 如果用户现在登录,单击“查看我的详细信息”按钮,他们可以查看详细信息吗 我用同样的方法来比较,但没有发生 如何在所有文档中搜索电子邮件字段 是否可以将使用Firebase身份验证的“电子邮件id”与firestore中固定集合下所有文

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

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

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

我用同样的方法来比较,但没有发生 如何在所有文档中搜索电子邮件字段

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

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

String emailAddress = FirebaseAuth.getInstance().getCurrentUser().getEmail();
Firestore-root
    |
    --- users (collection)
         |
         --- uid (document)
              |
              --- emailAddress: "xyz@gmail.com"
假设您的“固定”集合如下所示:

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);