尝试部署一个为数据库触发了OnCreate的函数,但它总是返回这个错误。下面是简单的代码和错误响应:
只是不能找出为什么匹配未定义的错误?
模块的版本:
nodejs: Version 8.11.3
Function : deployed with node 8 runtime version.
"firebase": "^5.3.0"
"firebase-admin": "^5.12.1"
"firebase-functions": "^1.1.0"
"typescript": "^2.5.3"代码:
import functions = require('firebase-functions');
import admin = require('firebase-admin');
exports.functionName = functions.database.ref('/user/{uid}/email').onCreate((snap, context) => {
console.log(snap.val());
});问题更新:这是最新和最新的代码。我正在尝试获取新添加的对象的详细信息。
错误在firebase数据库中向用户添加了一个新元素:
TypeError: Cannot read property 'match' of undefined
at resourceToInstanceAndPath (/srv/node_modules/firebase-functions/lib/providers/database.js:154:26)
at dataConstructor (/srv/node_modules/firebase-functions/lib/providers/database.js:122:38)
at Object.<anonymous> (/srv/node_modules/firebase-functions/lib/cloud-functions.js:89:32)
at Generator.next (<anonymous>)
at /srv/node_modules/firebase-functions/lib/cloud-functions.js:28:71
at new Promise (<anonymous>)
at __awaiter (/srv/node_modules/firebase-functions/lib/cloud-functions.js:24:12)
at cloudFunction (/srv/node_modules/firebase-functions/lib/cloud-functions.js:82:36)
at /worker/worker.js:728:24
at <anonymous>发布于 2018-08-28 15:25:18
您使用的是云函数的“旧”语法(在云函数的Firebase SDK版本1.0.0之前)和onCreate((event) => {}),而项目中的SDK版本是版本1.1.0。
您应该将语法更改为
.onCreate((snap, context) => {})正如documentation中所解释的
发布于 2019-07-12 04:58:52
我也遇到了同样的错误,当我部署时,我收到了这样的警告:
⚠函数:您的firebase-functions版本必须至少为2.0.0。请在functions文件夹中运行npm i --save firebase-functions@latest。
在我安装了最新的firebase-functions版本之后,它就可以工作了。
所以我的解决方案是:
npm i--保存firebase-functions@latest
发布于 2018-09-17 12:50:25
我也有这个问题,我相信这与在firebase函数中使用node8有关。至少这是最后一个主要的变化。
https://stackoverflow.com/questions/52052200
复制相似问题