2017-08-20 1 views
1

Je pensais que chaque utilisateur de mon application pouvait avoir une colonne "following" (Array) qui stocke les objectIds d'autres utilisateurs dont ils veulent voir le contenu. Serait le travail suivant?Comment puis-je concevoir une requête pour afficher le contenu d'autres utilisateurs que je "follwow" dans Parse (Android)?

List<String> meFollowing = ParseUser.getCurrentUser().getList("following"); 

ParseQuery<ParseObject> yeetQuery = new ParseQuery<>(ParseConstants.CLASS_POST); 
     query.whereContainedIn("authorObjectId", meFollowing); 
     query.orderByDescending(ParseConstants.KEY_LAST_REPLY_UPDATED_AT); 
     query.include("author"); 
     query.include("pollObject"); 

Y a-t-il quelque chose d'potentiellement sérieusement inefficace à ce sujet? Dites, quand le tableau des autres utilisateurs que je suis devient trop grand? Y a-t-il une meilleure manière de faire cela?

Répondre

1

Pour gérer un grand nombre de suiveurs/suiveurs, je vous recommande d'utiliser ParseRelation au lieu de Array. (cf. [http://docs.parseplatform.org/android/guide/#many-to-many]]). Par exemple:

ParseRelation<ParseUser> relation = getCurrentUser().getRelation("following"); 
ParseQuery<ParseUser> query = relation.getQuery();