Estoy usando Firestore (soy nuevo en esto) para aplicaciones web pequeñas. Actualmente, cada vez que actualizo o voy a otra página, la función recupera todos los documentos en Firestore. Pero los datos que recupera no cambian con frecuencia,
¿Hay alguna forma de recuperar todos los datos que me costará poco o nada de lecturas de documentos?
Actualmente estoy usando esta función para recuperar los datos.
firebase .firestore() .collection("products") .then((snapshot) => { snapshot.forEach((docs) => { }); }); firebase .firestore() .collection("products") .where("prodID", "==", prodID) .then((snapshot) => { snapshot.forEach((docs) => { }); });Depende de tu aplicación.
Pero una forma de reducirlo sería recuperarlos del caché.
Según los documentos ( https://firebase.google.com/docs/reference/android/com/google/firebase/firestore/Source ) puedes hacer algo como
function getData() { firebase .firestore() .collection("products") .get({source: "cache"}) .then((snapshot) => { if (!snapshot.exist) return getServerData() snapshot.forEach((docs) => { }); }); } function getServerData() { firebase .firestore() .collection("products") .get() .then((snapshot) => { snapshot.forEach((docs) => { }); }); }