Cloud Functions for Firebase - 创建新用户时写入数据库
Posted
技术标签:
【中文标题】Cloud Functions for Firebase - 创建新用户时写入数据库【英文标题】:Cloud Functions for Firebase - write to database when a new user created 【发布时间】:2017-11-12 22:44:07 【问题描述】:我是 Firebase 和 javascript 语言的全新 Cloud Functions。每次用户创建写入数据库时,我都尝试添加一个函数。这是我的代码:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.addAccount = functions.auth.user().onCreate(event =>
const user = event.data; // The firebase user
const id = user.uid;
const displayName = user.displayName;
const photoURL = user.photoURL;
return admin.database().ref.child("/users/$id/info/status").set("ok"); );
我想要做的是每次用户注册我的应用程序时,这些功能都会将他的状态写入数据库中“OK”。但是我的代码不起作用。
我做错了什么?
【问题讨论】:
【参考方案1】:我发现了问题。问题是不应该使用 $id,而且我不应该使用孩子。所以代码应该是这样的:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.addAccount = functions.auth.user().onCreate(event =>
const user = event.data; // The firebase user
const id = user.uid;
const displayName = user.displayName;
const photoURL = user.photoURL;
return admin.database().ref("/users/"+id+"/info/status").set("ok");
);
【讨论】:
您可以使用admin.database().ref(`/users/$id/info/status/`)
代替("/users/"+id+"/info/status")
。使用反引号而不是引号来编写查询字符串以上是关于Cloud Functions for Firebase - 创建新用户时写入数据库的主要内容,如果未能解决你的问题,请参考以下文章