base de datos firestore en la colección de user :
id1: { name: 'test', friends: [ users/id2, users/id3 ] } id2: {...} id3: {...} Estoy tratando de recibir las instantáneas de todas las referencias en la matriz de friends . ( myRef si una referencia a users/id1 )
const refFriends = (await getDoc(myRef)).data().friends; const friendsSnaps = await getDocs(refFriends); console.log(friendsSnaps);Al ejecutar, me sale este error.
[Rechazo de promesa no controlado: FirebaseError: tipo esperado 'pc', pero era: una matriz]
¿Algunas ideas?
getDocs() toma una consulta como parámetro y no una matriz de DocumentReference . Puede mapear una matriz degetDoc() de la matriz de 'amigos' y usar Promise.all() para obtenerlos a la vez:
const refFriends = (await getDoc(myRef)).data().friends; const friendsSnaps = await Promise.all(refFriends.map((f) => getDoc(f))); Alternativamente, puede mapear una matriz de ID de documentos y luego usar el operador in para obtener los documentos en una sola consulta, pero esto solo funciona cuando tiene hasta 10 amigos.