如何从Firebase Firestore数据库的Number字段获取字符串值
从Firebase Firestore获取指定字段的字符串值
当查询成功且结果非空时,你可以通过task.result.documents获取匹配的文档列表,再调用getString()方法提取目标字段的字符串值。假设电话号码是唯一的,只会返回单个匹配文档,修改代码如下:
private fun lookIntoDatabaseForClient() { setMobileNumberToEditText() bbdd.collection("Taxi").whereEqualTo("number", number).get().addOnCompleteListener { task -> if(task.isSuccessful && !task.result.isEmpty) { // 获取第一个匹配的文档 val targetDoc = task.result.documents.first() // 提取"number"字段的字符串值 val phoneNumber = targetDoc.getString("number") // 可根据需求使用该值,比如弹窗显示 Toast.makeText(applicationContext, "找到客户,电话号码:$phoneNumber", Toast.LENGTH_LONG).show() } else { Toast.makeText(applicationContext, "客户不存在于数据库中。", Toast.LENGTH_LONG).show() } } }
补充说明
- 如果存在多个匹配文档,可通过循环遍历
task.result.documents逐个处理:for (doc in task.result.documents) { val phoneNumber = doc.getString("number") // 处理每个号码 } getString("number")在字段不存在或类型不符时会返回null,可添加空值兜底:val phoneNumber = targetDoc.getString("number") ?: "未知号码"
内容的提问来源于stack exchange,提问作者user21771755
相关产品推荐
相关产品推荐

