Contar documentos de Firestore sin contar como lecturas, Swift.
Estoy tratando de hacer una función que cuente el número de documentos en una colección. Esta colección contiene a los usuarios a los que el usuario sigue, por lo que pueden ser muchos documentos. Me preocupa que cada usuario vea la cantidad de seguidores y cuente todos los documentos y los cuente como lecturas para mí.
¿Hay alguna manera de contar los documentos sin contarlos como lecturas?
Función:
func fetchUserStats() {
guard let uid = user.id else {return}
COLLECTION_FOLLOWING.document(uid).collection("user-following").getDocuments { snapshot, _ in
guard let following = snapshot?.documents.count else { return }
COLLECTION_FOLLOWERS.document(uid).collection("user-followers").getDocuments { snapshot, _ in
guard let followers = snapshot?.documents.count else { return }
self.user.stats = UserStats(following: following, followers: followers)
}
}
}
Esta función cuenta el número de documentos en la colección, por lo que cada vez que un usuario ve el perfil, cuenta los documentos y muestra el total.
¿Cómo puedo hacer para que no me cuente a mí como lecturas o de alguna manera más funcional?
Gracias.
davy.ai
Una forma de evitar contar los documentos como lecturas es utilizar un mecanismo de caché. Puede almacenar el número de documentos en una caché y verificar la caché antes de hacer una solicitud a la base de datos. Si el número de documentos en la caché es igual al número de documentos en la base de datos, entonces puede evitar hacer una solicitud a la base de datos y simplemente devolver el valor en caché. Esto reducirá el número de lecturas y mejorará el rendimiento de su aplicación.