问题
我设置了一个可调用的云函数,它使用 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,但没有成功。
有人知道我可以尝试什么吗?
在此处找到 API 参考。而不是
timestamp: admin.firestore.FieldValue.serverTimestamp()
应该是 timestamp: Firestore.FieldValue.serverTimestamp()
还导入:
const { Firestore } = require("firebase-admin/firestore");
扩展乔治的答案,正确的导入已更改为
const { FieldValue } = from "firebase-admin/firestore"