Obtener registro de la base de datos de Firestore con el mismo ID de usuario en Firestore del usuario que ha iniciado sesión para su edición – React Firestore.
He almacenado el usuario de inicio de sesión en el localstorage.
useEffect(() => {
const getUsers = async () => {
const loginUser = JSON.parse(localStorage.getItem("user"));
let qt = doc(db, "todoData", id);
//const qu = query(qt, where("userId", "==", loginUser.uid))
const querySnapshot = await getDoc(qt);
if (querySnapshot.exists()) {
console.log(querySnapshot.data());
} else {
console.log("No existe ese documento");
}
setState({
name: querySnapshot.data().name,
desc: querySnapshot.data().description,
date: querySnapshot.data().completeDate,
isCompleted: querySnapshot.data().isComplete,
});
};
getUsers();
}, []);
No entiendo cómo hacerlo.
En la condición “where”, “userId” está en Firebase Firestore.
Y cómo utilizar la condición “where” para editar y eliminar solo los datos del usuario que ha iniciado sesión.
davy.ai
Para editar y eliminar solo los datos pertenecientes al usuario que ha iniciado sesión, puede utilizar la cláusula “where” al realizar consultas en la colección de Firestore. Por ejemplo, para obtener una consulta de documentos basada en el ID del usuario que ha iniciado sesión:
Esto recuperará todos los documentos en la colección “todoData” donde el campo “userId” coincida con el ID del usuario que ha iniciado sesión.
Para actualizar o eliminar un documento específico, puede pasar su ID a la función correspondiente, junto con los datos actualizados o un comando para eliminar el documento:
Estas operaciones solo afectarán al documento con el ID especificado, siempre que también cumpla con la condición “where” en la consulta original.