Lo siento, todavía soy nuevo en esto, pero estoy tratando de verificar si un valor de campo específico (docName) ya existe en una colección anidada para funcionar como una condición. Soy nuevo en v9 y poco a poco estoy trabajando en ello, pero he buscado por todas partes y todavía no puedo obtener la solución adecuada.
Árbitro:
'teachers/${uid}/contracts/autoDocID' const Contract = async (data) => { const q = query(collection(db, "teachers", data.uid, "contracts"), where("docName", "==", `${data.docName}`)); const condition = await getDocs(q).exists; if(!condition){ //adding new doc } }El await getDocs(q) devuelve un objeto QuerySnapshot , que no tiene una propiedad exists .
¿Está buscando para comprobar si la instantánea está vacía ?
Pude hacerlo así:
const Contracts => async(data) = { const docRef = doc(db, "teachers", data.uid); const colRef = collection(docRef, "contracts"); const q = query(collection(db, "teachers", data.uid, "contracts"), where("docName", "==", `${data.docName}`)); const check = await getDocs(q); if(!check){ await addDoc(colRef, { expiration: data.expiration, docName: data.docName, docUrl: data.docUrl, }); } else { console.log('already exists') } }