【问题标题】:Increment Realtime Database count on new user with Firebase Cloud Function使用 Firebase Cloud Function 增加新用户的实时数据库计数
【发布时间】:2019-03-07 15:08:33
【问题描述】:

* 更新:这有效。请参阅下面的答案 *

我正在尝试编写一个 Firebase 云函数,该函数会在创建新用户时递增实时数据库 /userCount 值。

我尝试了以下方法,但在 incrementCountOnNewUser 中收到“TypeError: userCountRef.transaction is not a function”。

garage 的值设置为true,但ref 派生自after 事件对象时,我的其他函数incrementCountOnOpen 的事务正在工作

关于如何做到这一点的任何建议?

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;
});

【问题讨论】:

标签: javascript firebase-realtime-database google-cloud-functions firebase-admin


【解决方案1】:

原来上面的代码有效!我已经从注释掉的代码(不起作用)切换。我想它在我发布后没有等待足够长的时间来传播,因为我看到它现在可以工作了!

很抱歉给您带来了困惑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-09
    • 1970-01-01
    • 2020-09-07
    • 2018-05-01
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多