[英]How do I use Firebase Admin SDK to change data in Firebase Realtime Database while using Cloud Functions?
[英]Can't change data in Firebase Realtime Database when using Cloud Functions
我想每天凌晨 12:00 重置我的 Firebase 实时数据库中的特定值。 我正在使用 Firebase Cloud Functions 来执行此操作。 这是我拥有的代码:
exports.dailyReset = functions.pubsub.schedule('0 0 * * *').onRun((context) => {
exports.resetValue = functions.database.ref('/users/{userId}')
.onWrite((change, context) => {
var ref = change.data.ref;
ref.update({
"daily": 0
});
return ref.update({"daily": 0});
});
return null;
});
测试脚本后,它不起作用。 它不会重置我的 Firebase 实时数据库中的值。 有人可以告诉我如何解决这个问题吗?
无法使用函数 SDK 写入数据库。 functions
只能用于建立在触发事件发生时运行的触发器。
换句话说, functions.database.ref('/users/{userId}').onWrite()
根本不会写任何东西。
如果你想从 nodejs 程序写入实时数据库,你应该使用Firebase Admin SDK来写入数据。
运行firebase deploy
时,必须知道并修复index.js
文件中的 Cloud Functions 触发器。 这意味着您不能像您尝试做的那样从 Cloud Functions 内部动态创建触发器。
动态调度的常用方法有:
但就您而言,为什么您甚至需要onWrite
触发器? 您不能只导入 Admin SDK用户来读取所有用户,然后删除它们吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.