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

Android Firestore查询求助:获取含指定值的文档ID

解决Firestore获取指定值对应文档ID的问题

嘿,我看到你刚上手Firestore就遇到了查询文档ID的小问题,别担心,咱们马上搞定它~

你的需求很明确:找到包含指定值(蓝色框标注)的文档,获取它的ID(红色框标注),但你写的查询语句有个小错误:

collection("mychannel").whereEqualTo("74wRU4xHrcV9oWAXEkKeRNp41c53")

Firestore的whereEqualTo方法需要两个参数:第一个是你要匹配的字段名,第二个是对应的字段值。你现在只传了一个值,Firestore不知道该匹配哪个字段,自然查不到结果啦。

正确的查询写法

假设你要匹配的字段名是userId(请替换成你实际文档里存储蓝色框值的字段名),正确的代码应该是这样的:

collection("mychannel")
    .whereEqualTo("userId", "74wRU4xHrcV9oWAXEkKeRNp41c53") // 字段名 + 目标值
    .get()
    .addOnSuccessListener { querySnapshot ->
        // 遍历查询到的所有文档
        for (document in querySnapshot.documents) {
            val targetDocId = document.id // 获取红色框标注的文档ID
            println("找到的文档ID: $targetDocId")
        }
    }
    .addOnFailureListener { exception ->
        println("查询失败: ${exception.message}")
    }

关键提示

一定要把代码里的"userId"替换成你Firestore文档中实际存储那个蓝色框值的字段名称,不然查询还是会没有结果哦。执行这个查询后,遍历返回的文档快照,document.id就是你需要的目标文档ID啦。

内容的提问来源于stack exchange,提问作者Fathur Radhy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:45:36