así que tengo esta colección en firebase
db.collection("userEventsCal/"+currentUserUID+"/activities")
y esto agrega un objeto de evento al documento de actividades. como esto:
const event = { Time: eventTime, start: eventTimeDate, title: eventName, allDay: true } const currentUserUID = fire.auth().currentUser.uid const db = fire.firestore(); db.collection("userEventsCal/"+currentUserUID+"/activities").add({event})
Mi problema es que sigue escribiendo en firebase cuando visito la página de eventos.
const fetchGroupData = async () => { // I am going to fix this I just had to manipulate the string i know its bad I'll fix it const dateArray = eventDate.split(","); const day1 = dateArray[0]; const day = day1.substring(0,3) const month1 = dateArray[1]; const month2 = month1.split(" "); const date3 = month2[2]; // final month const month3 = month2[1]; const month = month3.substring(0,3); const year = dateArray[2]; const newEventString = day + " " + month + " " + date3 + year + " GMT+0100 (Irish Standard Time)"; const eventTimeDate = new Date(newEventString); const event = { Time: eventTime, start: eventTimeDate, title: eventName, allDay: true } allEvents.push(event) const currentUserUID = fire.auth().currentUser.uid const db = fire.firestore(); db.collection("userEventsCal/"+currentUserUID+"/activities").add({event}) } } useEffect(() => { let mounted = false if(!mounted){ fetchGroupData(); } return () => { mounted = true } }, [])
Sigue escribiendo en firebase, ¿cómo hago para no agregar un evento cuando ya existe en el documento de actividades?
El documento de actividades anidadas se ve así con doc.ids aleatorios para cada evento:
Básicamente está agregando varias identificaciones de documentos para el mismo evento
He hecho una nueva colección y es:
db.collection("userEventsCal4").doc(currentUserUID).collection(eventID).doc(currentUserUID).set({events: event})
en la página desde la que quiero llamarlo, no tengo acceso al ID de evento, así que me pregunto si es posible llamar solo a db.collection("userEventsCal4").doc(currentUserUID).get() para obtener todo dentro de esa colección?