android - 使用 whereEqualTo 从 Firestore 获取特定字段
问题描述
我有一个 firebase 文档,我想将字段值提取到 adnroid 中的 TextView,其中 mAuth 中的 currentuser id 等于文档中的 user-id 字段,但它不工作
Firebase Document Image
db = FirebaseFirestore.getInstance();
db.collection("users")
.whereEqualTo("user-uid",uid)
.get()
.addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
user_name = task.getResult().getString("user-name");
user_email = task.getResult().getString("user-email");
user_last_name = task.getResult().getString("user-last-name");
user_phone_number = task.getResult().getString("user-phone-number");
}
});
解决方案
db.collection("users")
.whereEqualTo("user-uid",uid)
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()){
Toast.makeText(getActivity(),"success accessing database",Toast.LENGTH_SHORT).show();
for (QueryDocumentSnapshot document : task.getResult()){
//Fetch from database as Map
user_name = (String) document.getData().get("user-name");
user_last_name =(String) document.getData().get("user-last-name");
user_phone_number =(String) document.getData().get("user-phone-number");
user_email =(String) document.getData().get("user-email");
推荐阅读
- reactjs - Wordpress 自定义 Gutenberg 块无法正确重新加载
- android - 将 SDK 版本 26 更改为 28 时如何修复 Gradle 错误
- c# - How to replace string's words first and last characters
- powershell - 如何使用 Powershell 限制复制文件?
- javascript - 如何从 Google Maps Searchbox 中获取价值并推送到新的 div 标签?
- c - C中的多级管道
- javascript - 如何呈现 HTMLCollection 项目?
- python - 如何获取用户当前系统主题颜色
- sql - 如何使用简单的翻译功能更新 clob 数据类型字段中的 xml 数据?
- ios - 我不知道使用 UIView.animate 或创建 UIImageView 方法有什么问题。我正在使用快速语言