Этот код создает новый документ каждый раз, когда пользователь входит в систему, но моя задача состоит в том, чтобы обновить существующий документ с таким же идентификатором пользователя, если он существует, иначе создайте новый. Как я могу сделать это в V9 Firebase?
Текущий код
setDoc(
query(collectionRef),
// db.collection('users').doc(user.uid).set(
{
email: user.email,
lastSeen: serverTimestamp(),
photoURL: user.photoURL
}, {
merge: true
}
);
Старый код, который обращается к UID документа:
Первый параметр в setDoc()
должен быть 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.info("Document updated"));