Esta pregunta está relacionada con esta: Obtener nombres de documentos en Firestore , pero aún no puedo comentar.
Estoy tratando de obtener un objeto anidado de mi FireStore que se ve así
{"docname1": {…}, "docname2": {…}, "docname3": {…}}Tengo esto ahora, pero parece que no puedo averiguar cómo crear el objeto anidado para empujarlo a la matriz vacía.
useEffect(() => { const getPlants = async () => { let response = [] const querySnapshot = await firebase .firestore() .collection('plants') .get() querySnapshot.forEach((doc) => { let newObject = [doc.id: doc.data() ] response.push(newObject) }) setPlants(response) } getPlants() }, [])Cualquier ayuda es muy apreciada :)
Creo que está creando mal el nuevo objeto (newObject). Intenta crearlo así:
querySnapshot.forEach((doc) => { const newObject = {} newObject[doc.id] = doc.data() response.push(newObject) })O bien, puede hacer esto:
querySnapshot.forEach((doc) => { response.push({ [`${doc.id}`]: doc.data() }) })