【发布时间】:2018-04-05 12:04:05
【问题描述】:
我正在尝试测试一个非常简单的 nodeJS 函数,该函数监视是否将新文档添加到集合(通知)中,然后分配该文档的超级文档 ID(userID)和子文档 ID(notificationID ) 并将它们打印到控制台。
'use-strict'
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendNotification = functions.firestore.document('Users/{userID}/Notifications/{notificationID}').onWrite(event => {
const to_user = event.params.userID;
const notification_id = event.params.notificationID;
console.log("Notification ID: " + notification_id + " Sent to: " + to_user );
});
这是 Firebase Functions 的输出:
TypeError: Cannot read property 'userID' of undefined
at exports.sendNotification.functions.firestore.document.onWrite.event (/user_code/index.js:8:33)
at Object.<anonymous> (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:112:27)
at next (native)
at /user_code/node_modules/firebase-functions/lib/cloud-functions.js:28:71
at __awaiter (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:24:12)
at cloudFunction (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:82:36)
at /var/tmp/worker/worker.js:700:26
at process._tickDomainCallback (internal/process/next_tick.js:135:7)
【问题讨论】:
-
您使用的是什么版本的 firebase-functions?如果是 1.0,您是否知道 API 发生了变化?
-
测试版。不,我不是。这是我第一次使用 firebase-functions
-
如果您今天开始使用 Cloud Functions,并且使用最新版本的 Firebase CLI 创建了一个新项目,那么您使用的是 1.0。在 1.0 中,不再有 event.params。
-
是的,我今天才开始。但是,函数旁边有一个词(BETA),所以我不确定它是什么版本。任何建议如何将值分配给变量? (替换event.params)?
-
Cloud Functions 基础架构处于测试阶段。 Firebase SDK 已完全发布。你的 package.json 对 firebase-functions 有什么看法?