我正在尝试编写一个云函数,该函数检测使用oncreate((user)函数创建新用户的时间,然后将50的值添加到points字段。 这就是创建的内容:
我想做的只是检测创建用户的时间,获取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还是陌生的,因此对指导的任何帮助都表示赞赏。
答案 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}`));