Busqué el documento de Firestore y veo este método para crear un nuevo documento con una identificación personalizada
import { doc, setDoc } from "firebase/firestore"; // Add a new document in collection "cities" await setDoc(doc(db, "cities", "LA"), { name: "Los Angeles", state: "CA", country: "USA" });Sin embargo, cuando implemento de la siguiente manera, devuelve undefined: doc no está definido
createUserWithEmailAndPassword(auth, txtEmail.value, txtPassword.value).then((userCredential) => { setDoc(doc(db, 'users', userCredential.user.uid), { email: txtEmail.value, name: "nickname", password: txtPassword.value, on_line: false, creat_time: Timestamp.fromDate(new Date()) }).then((docref) => { txtEmail.value = ""; txtPassword.value = ""; create_alert("success", userCredential.user + " sign up success"); }); })archivo completo:
import { db, auth } from "./config"; import {collection, getDoc, addDoc, updateDoc, setDoc, Timestamp} from "firebase/firestore"; import {getAuth, createUserWithEmailAndPassword, signInWithEmailAndPassword} from "firebase/auth"; new_account = () => { var txtEmail = document.getElementById('inputEmail'); var txtPassword = document.getElementById('inputPassword'); createUserWithEmailAndPassword(auth, txtEmail.value, txtPassword.value).then((userCredential) => { console.log("User: " + txtEmail.value + " has succesfully sign up"); setDoc(doc(db, 'users', userCredential.user.uid), { email: txtEmail.value, name: "nickname", password: txtPassword.value, on_line: false, creat_time: Timestamp.fromDate(new Date()) }).then((docref) => { txtEmail.value = ""; txtPassword.value = ""; create_alert("success", userCredential.user + " sign up success"); });Arriba está la mayor parte de mi archivo.