2017-08-16 1 views
0

Comme indiqué here J'essaie de trouver un moyen d'afficher les messages tendance avec Firebase.Firebase: Y a-t-il une différence entre les transactions client et les transactions de la fonction cloud?

Depuis que je ne vois pas d'autre moyen de résoudre ce problème, je l'ai décidé d'aller avec la redondance:

-trendingToday 
    -$date 
     -$postId 
      -numberOfLikes // negative number for descending order 

-trendingMonth 
    -$date 
     -$postId 
      -numberOfLikes // negative number for descending order 

Lorsqu'un utilisateur aime un poste, premier trendingToday/$date/$postId/numberOfLikes obtient diminué de 1 avec une transaction. Ensuite, il devrait y avoir un for-loop pour diminuer le nombre dans trendingMonth/$date/$postId/numberOfLikes$date boucles dans les 30 prochains jours. Cela devrait également être effectué avec des transactions.

Maintenant, la question est: Suis-je mieux de faire cette logique sur le client ou est-il préférable de résoudre ce problème avec les fonctions de cloud?

Répondre

1

Si vous choisissez d'effectuer de nombreux travaux sur le client, il est possible que le travail ne soit pas terminé si l'utilisateur tue l'application ou perd la connectivité ou une autre interruption.

Une fonction de cloud est fortement contrairement à pour être interrompue au cours de son exécution, donc il y a beaucoup plus de chances que toutes vos transactions se terminent de manière cohérente.