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
相关产品推荐
相关产品推荐

