Firestore serverTimestamp() 未定义

问题描述 投票:0回答:2

问题

我设置了一个可调用的云函数,它使用 Admin SDK (node.js) 写入 Firestore:

const admin = require('firebase-admin');
const functions = require("firebase-functions");

exports.myFunction = functions.https.onCall(async (data, context) => {

    await admin.firestore().doc("/test").create({
        timestamp: admin.firestore.FieldValue.serverTimestamp()
    });

})

使用模拟器对此进行测试。我的包裹还有:

"firebase-admin": "^11.2.1",
"firebase-functions": "^4.0.2",
"firebase-tools": "11.16.0"

我在模拟器日志中收到此错误:

TypeError: Cannot read properties of undefined (reading 'serverTimestamp')

我最近将 admin SDK 和 firebase-tools 更新到上述版本,然后问题开始出现。我尝试重新安装 firebase-tools 和 admin SDK,但没有成功。

有人知道我可以尝试什么吗?

node.js firebase google-cloud-firestore
2个回答
14
投票

此处找到 API 参考。而不是

timestamp: admin.firestore.FieldValue.serverTimestamp()
应该是
timestamp: Firestore.FieldValue.serverTimestamp()

还导入:

const { Firestore } = require("firebase-admin/firestore");


0
投票

扩展乔治的答案,正确的导入已更改为

const { FieldValue } = from "firebase-admin/firestore"

© www.soinside.com 2019 - 2024. All rights reserved.