javascript - 使用 Firebase Cloud Function 增加新用户的实时数据库计数
问题描述
*更新:这有效。请参阅下面的答案 *
我正在尝试编写一个 Firebase 云函数,该函数/userCount
在创建新用户时递增实时数据库值。
我尝试了以下方法,但在incrementCountOnNewUser
.
当 的值设置为时,事务正在为我的其他函数工作,但是从事件对象派生的。incrementCountOnOpen
garage
true
ref
after
关于如何做到这一点的任何建议?
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
// const userCountRef = functions.database.ref("/userCount"); // does NOT work
const userCountRef = admin.database().ref('/userCount'); // THIS WORKS!
exports.incrementCountOnNewUser = functions.auth.user().onCreate((user) => {
return userCountRef.transaction(count => count + 1);
});
exports.incrementCountOnOpen = functions.database.ref("/garage").onUpdate(({after}) => {
const countRef = after.ref.parent.child('count');
const newValue = after.val();
return newValue
? countRef.transaction(count => count + 1)
: null;
});
解决方案
事实证明,上面的代码有效!我已经从注释掉的代码(不起作用)切换。我想它在我发布后没有等待足够长的时间来传播,因为我看到它现在正在工作!
对困惑感到抱歉。
推荐阅读
- excel - 如何将月和日四舍五入到最接近的月或半月
- firefox - Rich:fileUpload 在 JSF 版本 3.3.3 最终版中,1 个文件上传导致文件上传侦听器在 Firefox v69 中运行两次
- mysql - Connection to RDS MySql from ECS Fargate wordpress container times out
- wpf - 如何将国家/地区列表作为 XAML 中组合框的自动完成
- python - 如何将 Django 中的线程替换为 Celery 工作者
- javascript - Svelte 反应性如何在函数内部工作?
- ionic4 - 在 sdk 和 gradle 中设置 android 以在 ionic 中运行 cordova comand 时出错
- java - 爪哇 | 将数据处理程序写入文件的方法花费的时间比预期的要长
- python-3.x - 无法在列表中搜索列表中的记录
- vue.js - Vue中如何实现右键菜单的导航动作?