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

如何从Firestore数据库文档的map字段子字段中获取指定存储值

Firestore Map子字段最简取值方案

你需要获取UID map字段下的deleted布尔值,直接使用Firestore原生支持的点分隔语法即可实现,无需手动嵌套解析整个map结构。

各端实现示例

  • Web端(JavaScript/TypeScript)
import { doc, getDoc } from "firebase/firestore";
import { db } from "./你的firebase初始化文件路径";

const docRef = doc(db, "你的集合名", "你的文档ID");
const docSnap = await getDoc(docRef);

if (docSnap.exists()) {
  // 直接用点语法取值,拿到的就是布尔类型的deleted值
  const isDeleted = docSnap.get("UID.deleted");
  console.log(isDeleted); // 输出true/false
}
  • Python服务端
import firebase_admin
from firebase_admin import firestore

app = firebase_admin.initialize_app()
db = firestore.client()

doc_ref = db.collection("你的集合名").document("你的文档ID")
doc = doc_ref.get()
if doc.exists:
    is_deleted = doc.get("UID.deleted")
    print(is_deleted)
  • Android端(Kotlin)
val db = FirebaseFirestore.getInstance()
val docRef = db.collection("你的集合名").document("你的文档ID")
docRef.get()
    .addOnSuccessListener { document ->
        if (document != null) {
            val isDeleted = document.getBoolean("UID.deleted")
            Log.d("取值结果", isDeleted.toString())
        }
    }

额外拓展

如果你需要查询集合中所有UID.deleted为true的文档,同样可以直接用点语法构造查询条件:

// 以JS为例,其他端语法同理
const q = query(collection(db, "你的集合名"), where("UID.deleted", "==", true));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 19:54:05