es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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.

Tags:  , ,

Answer

  1. Avatar for 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.

Comments are closed.