首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebase函数匹配触发器错误: TypeError:无法读取未定义的属性‘onCreate’

Firebase函数匹配触发器错误: TypeError:无法读取未定义的属性‘onCreate’
EN

Stack Overflow用户
提问于 2018-08-28 15:20:12
回答 4查看 2.5K关注 0票数 3

尝试部署一个为数据库触发了OnCreate的函数,但它总是返回这个错误。下面是简单的代码和错误响应:

只是不能找出为什么匹配未定义的错误?

模块的版本:

代码语言:javascript
复制
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"

代码:

代码语言:javascript
复制
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数据库中向用户添加了一个新元素:

代码语言:javascript
复制
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>
EN

回答 4

Stack Overflow用户

发布于 2018-08-28 15:25:18

您使用的是云函数的“旧”语法(在云函数的Firebase SDK版本1.0.0之前)和onCreate((event) => {}),而项目中的SDK版本是版本1.1.0。

您应该将语法更改为

代码语言:javascript
复制
.onCreate((snap, context) => {})

正如documentation中所解释的

票数 1
EN

Stack Overflow用户

发布于 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

票数 1
EN

Stack Overflow用户

发布于 2018-09-17 12:50:25

我也有这个问题,我相信这与在firebase函数中使用node8有关。至少这是最后一个主要的变化。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52052200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档