Estoy tratando de obtener datos filtrados de mi base de datos Firebase en la aplicación web de Reactjs. Lo hago de la siguiente manera, pero da este error de que ... orderByChild no es una función. Lo que está sucediendo, no puedo entenderlo.
import fb from '../../firebase'; const DB =fb.firestore(); const restro_list = DB.collection('restros'); const[restros, Setrestros] = useState([]); useEffect(()=>{ const unsubrestro = restro_list.orderByChild('MealType').on('value', snapshot => { snapshot.forEach(docu => { const data = docu.docs.forEach(doc => ({ ...doc.val(), id: doc.id, })); Setrestros(data); }); }); return unsubrestro; },[]);orderByChild() es una función en Firebase Realtime Database SDK, pero está usando Firestore donde debe usar orderBy() como se muestra a continuación:
const unsubrestro = restro_list.orderBy("MealType").onSnapshot((snapshot) => { const data = snapshot.docs.map((d) => ({ id: d.id, ...d.data() })) Setrestros(data); })