I am unable to get single user data based on using firestore query. Recently, firebase got update to v9 so, i tried to modify query but it's not working may be I am doing something wrong. Here its what i am trying fetch single user based on id.
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]);
You have to construct your query like this, see docs:
const collectionQuery = query(
collection(db, 'users'),
where('id', '==', id),
);
const unsub = onSnapshot(collectionQuery, (snapshot) => {
...
})
Edit:
Judging from your attached screenshot, you might mean the ID of the document. In this case you can just get the document directly, without a query:
const docRef = doc(db, "users", id);
const snapshot = await getDoc(docRef);