Quiero consultar solo a los usuarios con la subcolección Favoris (no todos los usuarios tenían una subcolección de favoris) y quiero consultar solo el documento de favoris con la misma identificación que el usuario actual.
Hice la siguiente función pero no encontré ningún documento. Se supone que debo tener uno. ¿Olvidé algo?
const getFavoris = () => { userDB.doc() .collection('favoris') .where('id', '==', currentUser.id) .get() .then((querySnapshot) => { console.log('cmb', querySnapshot.size); querySnapshot.forEach((doc) => { console.log(doc.id); }); }); };también un ejemplo de mi usuario DB y subcolección Favoris
Dado que "favoris" es una subcolección, en lugar de usar una llamada de colección() , debe usar una consulta de colecciónGroup() como en las siguientes líneas de código:
const getFavoris = () => { firebase.firestore() .collectionGroup('favoris') //👈 .where('id', '==', currentUser.id) .get() .then((querySnapshot) => { console.log('cmb', querySnapshot.size); querySnapshot.forEach((doc) => { console.log(doc.id); }); }); };Además de eso, no olvides crear el índice correspondiente.