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

Node.js中使用Firebase serverTimestamp()时出现错误

解决Firebase serverTimestamp报错:Cannot read property 'serverTimestamp' of undefined

问题原因

你同时引入了firebase-admin和@google-cloud/firestore两个库,且混用了它们的API,导致找不到正确的FieldValue对象。

正确写法

方案1:统一使用firebase-admin库

如果基于firebase-admin操作Firestore,需先完成初始化,再调用对应API:

const Queue = require('firebase-queue');
const admin = require("firebase-admin");

// 初始化admin(必填步骤,之前可能遗漏)
admin.initializeApp({
  credential: admin.credential.applicationDefault(),
  // 也可根据项目需求指定具体配置
});

const firestore = admin.firestore();

job.ref.update({
  timeProcessingEnded: admin.firestore.FieldValue.serverTimestamp()
})

方案2:统一使用@google-cloud/firestore库

如果直接使用@google-cloud/firestore,直接解构调用FieldValue:

const Queue = require('firebase-queue');
const { Firestore, FieldValue } = require('@google-cloud/firestore');

const firestore = new Firestore();

job.ref.update({
  timeProcessingEnded: FieldValue.serverTimestamp()
})

关键注意事项

  • 不要同时混用两个库的Firestore实例与API,选其一坚持使用
  • 使用firebase-admin时,必须先执行admin.initializeApp()完成初始化,否则API无法正常工作
  • 调用serverTimestamp()时,需确保从对应库的FieldValue对象获取,避免跨库调用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 21:09:56