获取用户的用户名onCreate并更新数据库

时间:2018-10-23 20:30:08

标签: javascript firebase firebase-authentication google-cloud-functions

我正在尝试编写一个云函数,该函数检测使用oncreate((user)函数创建新用户的时间,然后将50的值添加到points字段。 这就是创建的内容:

User

我想做的只是检测创建用户的时间,获取ID并将点值更改为50,它必须是一个云函数。 这是我的代码当前的样子。

    exports.updatepoints = functions.auth.user().onCreate((user) => {

  const userID = firebase.auth.currentUser.uid; 
  return updatepoints(userID)
});

async function updatepoints(userID) {
  return firebase.database().ref('mobile_user/' + userID).set(
    {
      points: 50
    });
};

我对JS和firebase还是陌生的,因此对指导的任何帮助都表示赞赏。

1 个答案:

答案 0 :(得分:0)

我会这样:

首先,我将更改该函数的名称以真正说明该函数在做什么,在这种情况下,将初始化用户。所以是initUser。

然后您的函数以用户形式接收数据。使用它来获取有关已创建用户的信息,并将数据保存到Firebase。

类似的事情应该起作用。

import { auth } from 'firebase-functions';
import { database } from 'firebase-admin';

exports.initUser = functions.auth.user().onCreate((user) => {

const mobileUser = {
email: user.email,
points: 50,
subscribedToMailingList: true
}    

const ref = database().ref(`mobile_user/${user.uid}`);

  return ref.set(mobileUser)
    .then(() => console.log(`Created user: ${user.email}`))
    .catch((error) => console.log(`Error: ${error}`));