我正在使用firebase云功能,firebase auth和firestore。 我之前使用firebase数据库完成了这项工作,但是不确定firestore如何将users集合中的文档设置为新创建的firebase auth用户的uid。
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
const db = admin.firestore()
exports.createUser = functions.auth.user().onCreate(event => {
const uid = event.data.uid;
console.log(uid);
db.collection('users').doc(uid);
});
以上内容在日志中完成,但是未在数据库中设置uid。我是否需要在某个阶段调用set?
感谢。
答案 0 :(得分:4)
const collection = db.collection("users")
const userID = "12345" // ID after created the user.
collection.doc(userID).set({
name : "userFoo", // some another information for user you could save it here.
uid : userID // you could save the ID as field in document.
}).then(() => {
console.log("done")
})
答案 1 :(得分:0)
请注意,onCreate
返回值已更改,它现在确实返回了用户,因此event.data.uid
不再有效。
完整功能应如下所示,它将创建一个文档,其中用户的uid
位于“用户”根集合中。
exports.createUser = functions.auth.user().onCreate((user) => {
const { uid } = user;
const userCollection = db.collection('users');
userCollection.doc(uid).set({
someData: 123,
someMoreData: [1, 2, 3],
});
});