Android 与Firebase和Firestore相关
是否可以将使用Firebase身份验证的“电子邮件id”与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中固定集合下所有文
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);