No puedo obtener datos de un solo usuario basados en el uso de la consulta Firestore. Recientemente, Firebase se actualizó a v9, así que intenté modificar la consulta, pero no funciona, es posible que esté haciendo algo mal. Esto es lo que estoy tratando de obtener de un solo usuario según la identificación.
const id = useParams(); useEffect(() => { const unsub = onSnapshot( collection(db, "users", where("id", "==", id)), (snapShot) => { snapShot.docs.forEach((doc) => { console.log(doc.data()); }); }, (error) => { console.log(error); } ); return () => { unsub(); }; }, [id]);Tienes que construir tu consulta de esta manera, ver documentos :
const collectionQuery = query( collection(db, 'users'), where('id', '==', id), ); const unsub = onSnapshot(collectionQuery, (snapshot) => { ... })Editar:
A juzgar por la captura de pantalla adjunta, es posible que se refiera al ID del documento. En este caso, puede obtener el documento directamente, sin una consulta:
const docRef = doc(db, "users", id); const snapshot = await getDoc(docRef);