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

Firestore中console.log字典正常,通过Key访问却返回undefined

问题分析与解决建议

1. 检查键名的精确匹配

控制台打印的对象可能存在键名大小写不一致、首尾空格或特殊字符的情况,比如实际键是jimmy、 Jimmy(带前空格)而非Jimmy。可以通过以下代码打印所有键名,确认精确拼写:

console.log(Object.keys(employeeWorkload));

对比输出的键名和你使用的"Jimmy"是否完全一致,包括大小写、空格等细节。

2. 转换为纯JavaScript对象

Firestore返回的data()结果可能是带有特殊原型的对象(如DocumentData),即使console.log显示正常,直接访问键可能存在异常。可以尝试将其转换为纯对象后再访问:

const employeeWorkload = {...projectData.workload};
// 或者
const employeeWorkload = Object.assign({}, projectData.workload);

之后再尝试console.log(employeeWorkload["Jimmy"])。

3. 确认数据加载完整性

虽然你已经使用await获取文档,但可以额外确认projectDoc是否存在且workload字段有效:

async addTask() {
    const projectDoc = await getDoc(doc(db, "projects", "TestingNewNew"));
    if (!projectDoc.exists()) {
        console.log("文档不存在");
        return;
    }
    const projectData = projectDoc.data();
    if (!projectData?.workload) {
        console.log("workload字段不存在");
        return;
    }
    const employeeWorkload = {...projectData.workload};
    console.log(Object.keys(employeeWorkload));
    console.log(employeeWorkload["Jimmy"]);
}

这能排除文档不存在或workload字段缺失的情况。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 13:33:13