You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android开发:如何将SELECT USERID FROM CUSTOMER WHERE NAME = "JOHN"转为Cloud Firestore查询?

在Android中将SQL查询转换为Cloud Firestore查询的方法

嘿,这事儿其实挺直观的,我帮你把这条SQL语句对应到Firestore的写法上,一步步来:

原SQL语句:

SELECT USERID FROM CUSTOMER WHERE NAME = "JOHN"

核心对应逻辑

Firestore里的集合对应SQL的表,文档对应SQL的行,所以我们只需要针对CUSTOMER集合做条件查询,并指定只返回USERID字段就行。

Android平台代码实现

Kotlin版本

val db = FirebaseFirestore.getInstance()

db.collection("CUSTOMER") // 对应SQL里的CUSTOMER表
    .whereEqualTo("NAME", "JOHN") // 对应WHERE NAME = "JOHN"的筛选条件
    .select("USERID") // 对应SELECT USERID,仅获取指定字段(减少数据传输)
    .get()
    .addOnSuccessListener { querySnapshot ->
        for (document in querySnapshot) {
            val userId = document.getString("USERID")
            // 这里处理获取到的USERID,比如打印或存入变量
            userId?.let { Log.d("FirestoreQuery", "查询到的USERID: $it") }
        }
    }
    .addOnFailureListener { exception ->
        Log.w("FirestoreQuery", "查询失败", exception)
    }

Java版本

FirebaseFirestore db = FirebaseFirestore.getInstance();

db.collection("CUSTOMER")
        .whereEqualTo("NAME", "JOHN")
        .select("USERID")
        .get()
        .addOnSuccessListener(querySnapshot -> {
            for (QueryDocumentSnapshot document : querySnapshot) {
                String userId = document.getString("USERID");
                Log.d("FirestoreQuery", "查询到的USERID: " + userId);
            }
        })
        .addOnFailureListener(e -> Log.w("FirestoreQuery", "查询失败", e));

关于参考截图的补充

你提到的参考截图应该是Firestore控制台的查询界面——在控制台中选择CUSTOMER集合,添加「NAME等于JOHN」的筛选条件,再在「输出字段」中勾选USERID,这个操作逻辑和我们代码里的实现完全一致,你也可以通过控制台直接验证查询结果哦。

内容的提问来源于stack exchange,提问作者Jiaen Ong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:39:20