#javascript #firebase #firebase-authentication #google-cloud-firestore #google-cloud-functions
#javascript #firebase #firebase-аутентификация #google-облако-firestore #google-cloud-функции
Вопрос:
Я пытаюсь автоматически создать пользовательские данные в моей базе данных firestore, когда пользователь регистрируется с помощью функций firestore. Однако у меня есть 2 варианта для регистрации. Учетная запись для ведения бизнеса и личная учетная запись. Если пользователь регистрируется как бизнес, то я хочу добавить «usertype = 1» в свой документ, а когда личный, то «usertype = 2». Мне удалось автоматически создать документ о регистрации с помощью функций
const functions = require('firebase-functions')
const admin = require('firebase-admin')
admin.initializeApp()
const db = admin.firestore()
exports.createUserData = functions.auth.user().onCreate((user) => {
const uid = user.uid
const email = user.email
const newUserRef = db.collection("user").doc(uid)
return newUserRef.set({
userId: uid,
email: email
})
});
Но как я могу также передать «usertype» в эту функцию? Или какую функцию использовать для этого?
Ответ №1:
В functions.auth.user().onCreate(
функцию не передается дополнительная информация, поэтому нет способа провести различие между двумя типами пользователей.
Лучшее, что вы можете сделать, это задать тип пользователя внутри клиента, написав оттуда тот же документ. Чтобы предотвратить состояние гонки, вы захотите перенести все создание пользовательского документа на клиент.
Комментарии:
1. Это то, чего я боялся… Спасибо за совместное подтверждение