Estoy tratando de verificar si una matriz con DocumetReferences contiene una referencia específica.
Ese es mi intento:
const likedWorkouts = user.collection('additional').doc('liked'); const snapshot = await likedWorkouts.get(); const exists = snapshot.exists; hasLiked = snapshot.data()?.liked?.includes(workout); // This part (workout is a DocumentReference)Una DocumentReference es un objeto y no puede compararlos directamente. Puede usar el método isEqual() para comparar las referencias:
hasLiked = !!snapshot.data()?.liked?.find((likeRef) => likeRef.isEqual(workout)); // Alternatively, you can compare the paths // likeRef.path === workout.path DocumentReference en el nuevo Modular SDK no tiene el método isEqual() sino que hay una función de nivel superior refEqual() . Se puede utilizar de la siguiente manera:
import { refEqual } from "firebase/firestore"; hasLiked = !!snapshot.data()?.liked?.find((likeRef) => refEqual(likeRef, workout));Consulte MDN para obtener más información sobre los objetos.