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

如何查询Firestore并将读取值转为JavaScript Number类型?

解决Firestore读取Number类型值到JS变量的问题

你的问题出在错误地把整个文档对象当成单个字段值处理,doc.data()返回的是包含所有字段的对象,不是你要的那个Number值,所以才会出现NaN或[Object object]的情况。

错误原因解析

  • 第一个代码里Number(doc.data()):把对象转成Number,JS会直接返回NaN,因为对象无法直接转换为有效数字。
  • 第二个代码里强制类型转换:只是给对象套了Number类型的壳,但本质还是对象,打印时自然显示[Object object]。

正确代码写法

Firestore会自动把存储的Number类型映射为JS的Number类型,你只需要提取文档里对应的字段值即可:

const doc = await db.collection('lastBlock').doc('lastBlockNumber').get();
if (doc.exists) {
    // 替换成你数据库里实际的字段名(比如截图里的字段键名)
    lastBlockNumber = doc.data().lastBlockNumber;
    // 更安全的写法:用get方法,字段不存在时返回undefined
    // lastBlockNumber = doc.get('lastBlockNumber');
}

注意事项

要确保代码里的字段名和Firestore文档里的字段名完全一致(大小写敏感),比如如果你的文档里字段叫value,就写成doc.data().value。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 08:53:14