Hasta ahora he escrito el siguiente código:
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; return admin .database() .ref("/users/" + id) .set("ok"); });La idea aquí es ejecutar una función en la nube una vez que se crea un nuevo usuario. Mientras esto sucede, quiero crear un nuevo nodo en la base de datos de Firestore. Debajo de la colección de 'usuarios', quiero agregar un documento con el uid, que contiene un poco de información, en este caso, una cadena que dice 'ok'.
Al desplegar esta función produce un error. ¿Cómo debo hacer exactamente para crearlo?
admin.database() devuelve el servicio Realtime Database . Para usar Firestore, usa firebase.firestore() . Intente refactorizar el código como se muestra a continuación:
exports.addAccount = functions.auth.user().onCreate((event) => { const user = event.data; // The firebase user const id = user.uid; return admin .firestore() .collection("users") .doc(id) .set({ uid: id, ...user }); });