Soy muy consciente de que cuando crea un documento en Firebase, genera una identificación única aleatoria, pero quiero crear la mía propia basada en 5 números aleatorios, let id = Math.floor(Math.random() * (99999 + 1));
ahora mi pregunta es ¿cómo compruebo que el número que estoy generando no está ya en los documentos que he creado? ¿Hay alguna manera de verificar la identificación de los documentos y luego hacer que se aleatorice otro número?
hasta ahora lo estoy haciendo afuera porque no tengo idea de cómo verificar eso dentro de mi doc.set
Quiero que tanto mi doc.id como el id de valor interno sean iguales
Código de referencia:
let id = Math.floor(Math.random() * (99999 + 1)); const docId = `${id}`; const registrarPedido = (e) => { e.preventDefault(); const docRef = db.collection('usuarios').doc(user.uid).collection('pedidos').doc(docId) docRef.set({ nombre: nombre, grado: grado, total: totalPrice, escuela: escuela, metodoDePago: "ACH", estadoDePago: "Pendiente", fecha: formattedDate, id: docId, entrega: "Retirar en Sede" }).then((r) => { history.push("/Inicio"); }) }algo como:
admin.firestore().collection('usuarios').doc(nuevo_id).get.then(res=>{ if(!res.data().exists){ admin.firestore.collection('usuarios').doc(nuevo_id).set({ nombre: nombre, grado: grado, total: totalPrice, escuela: escuela, metodoDePago: "ACH", estadoDePago: "Pendiente", fecha: formattedDate, id: docId, entrega: "Retirar en Sede" }) } });En este caso, no usaría una identificación aleatoria para que sea más fácil y rápido de generar.