Zep*_*ock 5 node.js firebase firebase-realtime-database google-cloud-functions firebase-cloud-messaging
我试图用我的移动应用程序做一个简单的hello world firebase功能,我想记录用户ID,以便我可以看到该功能确实有效.这是我目前的javascript代码:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendNotification = functions.database.ref('/notifications/{user_id}').onWrite((event) => {
console.log('Testing stuff', event.params.user_id);
return;
});
Run Code Online (Sandbox Code Playgroud)
当新数据写入特定数据库表时会触发,但会显示以下错误:
TypeError: Cannot read property 'user_id' of undefined
at exports.sendNotification.functions.database.ref.onWrite (/user_code/index.js:8:44)
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)
Run Code Online (Sandbox Code Playgroud)
Pet*_*dad 15
您需要安装最新的firebase-functions和firebase-admin:
npm install firebase-functions@latest firebase-admin@latest --save
npm install -g firebase-tools
Run Code Online (Sandbox Code Playgroud)
为了能够使用新API,请在此处查看更多信息:
https://firebase.google.com/docs/functions/get-started#set_up_and_initialize
改变这个:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendNotification = functions.database.ref('/notifications/{user_id}').onWrite((event) => {
console.log('Testing stuff', event.params.user_id);
Run Code Online (Sandbox Code Playgroud)
进入这个:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.sendNotification = functions.database.ref('/notifications/{user_id}').onWrite((change, context) => {
console.log('Testing stuff', context.params.user_id);
Run Code Online (Sandbox Code Playgroud)
对于
onWrite
和onUpdate
事件,data参数有before
和after
字段.其中每个都DataSnapshot
使用admin.database.DataSnapshot中提供的相同方法
params
包含path参数中通配符值的对象,该参数提供给实时数据库触发器的ref()方法.
更多信息:
归档时间: |
|
查看次数: |
6125 次 |
最近记录: |