You need to enable JavaScript to run this app. Firestore中数值类型字段无法像字符串字段一样打印到列表怎么解决?
优惠活动
大模型
产品
解决方案
定价
更多

Firestore中数值类型字段无法像字符串字段一样打印到列表怎么解决?

问题原因

你遇到的读取失败问题和字段值的类型无关,是对象属性访问语法的问题:
使用点语法(.)访问JS对象属性时,引擎会把.后的标识符直接作为固定字符串键名处理,不会解析成你定义的变量。你写updatesArgument.data().i时,实际是在查找字段名为"i"的属性,自然读不到变量i存储的数值1对应的字段。

解决方法

改用方括号([])属性访问语法即可,方括号内的内容会被解析为变量,取变量的实际值作为键名读取属性:

li.setAttribute('data-id', updatesArgument.id);
let i = 1;
// 用方括号读取变量i对应的字段
const targetValue = updatesArgument.data()[i];
// 拼接你需要的「序号: "内容"」格式
name.textContent = `${i}: "${targetValue}"`;
li.appendChild(name);
infoUpdates.appendChild(li);

如果要兼容字段不存在的异常场景,可以加兜底默认值:

const targetValue = updatesArgument.data()[i] ?? '无对应数据';

补充说明

Firestore中如果字段名是数字类型,存储时会自动转为字符串类型的键,用数值变量放在方括号内访问时,JS会自动把数值转成字符串匹配键名,不管字段值是字符串、数字还是其他基础类型,赋值给textContent时都会自动转为字符串正常展示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 14:45:06