Este código crea un nuevo documento cada vez que el usuario inicia sesión, pero mi tarea es actualizar el mismo documento de identificación de usuario existente si existe, de lo contrario, crear uno nuevo. ¿Cómo puedo hacer eso en V9 Firebase?
Código actual
setDoc( query(collectionRef), // db.collection('users').doc(user.uid).set( { email: user.email, lastSeen: serverTimestamp(), photoURL: user.photoURL }, { merge: true } );Código antiguo que accede al UID del documento:
El primer parámetro en setDoc() debe ser DocumentReference :
import { doc, setDoc } from "firebase/firestore" const docRef = doc(db, "users", user.uid); setDoc(docRef, { email: user.email, lastSeen: serverTimestamp(), photoURL: user.photoURL }, { merge: true }).then(() => console.log("Document updated"));Alternativamente, también puede usar updateDoc().
import { doc, updateDoc } from "firebase/firestore" update(doc(db, "users", user.uid, { email: user.email, lastSeen: serverTimestamp(), photoURL: user.photoURL }).then(() => console.log("Document updated"));