Firebase云函数-创建用户时写入数据库

Firebase云函数-创建用户时写入数据库,firebase,react-native,firebase-realtime-database,google-cloud-functions,Firebase,React Native,Firebase Realtime Database,Google Cloud Functions,我想在每次注册新用户时写入数据库。这是我的代码: const functions = require('firebase-functions'); exports.newUserToDatabaseTest = functions.auth.user().onCreate((user) => { var current = new Date().toString(); firebase.database().ref('users/' + firebase.a

我想在每次注册新用户时写入数据库。这是我的代码:

    const functions = require('firebase-functions');
    exports.newUserToDatabaseTest = functions.auth.user().onCreate((user) => {
    var current = new Date().toString();
    firebase.database().ref('users/' + firebase.auth().currentUser.uid).set({
        email: user.email,
        creationDate: current
        })
  });
它部署正确,但在我的React本机应用程序中注册新用户后,不会发生任何事情。
我做错了什么?

在编写Firebase云函数时,请始终注意,如果运行异步代码,则需要“告诉”函数等待。否则,它将在代码执行之前停止。为此,我们将您的
返回到数据库

另外,
auth
触发器提供了
user
,因此您可以使用它来获取用户uid

firebase.auth().currentUser.uid
在云函数中不起作用

尝试将代码更改为以下内容:

const functions=require('firebase-functions');
const admin=require('firebase-admin');
admin.initializeApp();
exports.newUserToDatabaseTest=functions.auth.user().onCreate((用户)=>{
var current=新日期().toString();
返回admin.database().ref('users/'+user.uid).set({
电子邮件:user.email,
创作日期:当前
})
});

您需要在云函数中使用Admin SDK。初始化可以进行RTDB更改的管理应用程序实例。(
const admin=require('firebase-admin');admin.initializeApp();
)然后执行
admin.database().ref('…')…