En mi código, obtengo un objeto de una colección existente de Firebase y luego quiero agregarlo a otro documento como un objeto, sin embargo, no entiendo cómo hacerlo.
// Create a query against the collection. const q = query(subjectRef, where("Subject", "==", subject), where("Board", "==", examBoard), where("Level", "==", level)); onSnapshot(q, (snapshot) => { snapshot.docs.forEach(doc => { //add a document to a subcollection in the collection users const auth = getAuth(); //editted so onAuthState function is not called const uid = auth.currentUser.uid const docRef = doc(db, "users", uid); const colRef = collection(docRef, "subjects"); addDoc(colRef, { //????? }); }) el documento se agregaría a los temas de la colección, así es como se ve el documento:
y la estructura de los usuarios es (colección) usuarios > (documento) usuario > (colección) temas > (documento) lo que quiero agregar
Puede obtener el ID de usuario de la propiedad auth.currentUser.uid . Así es como lograría esto:
const q = query(subjectRef, where("Subject", "==", subject), where("Board", "==", examBoard), where("Level", "==", level)); onSnapshot(q, (snapshot) => { snapshot.docs.forEach(doc => { //add a document to a subcollection in the collection users const auth = getAuth(); var q = doc.data() const colRef = collection(db, "users", auth.currentUser.uid,"subjects"); addDoc(colRef, { Board:q.Board Level:q.Level Subject:q.Subject }); });