Fetch all Parse.Relations pointing to a given object
-
12-12-2019 - |
Question
I'm using a Parse.Relation
to group users under a Topic. How do I retrieve all the topics which have a topic.relation
pointing to a given user?
The question is about doing this in a single call/callback.
// first add() a User object to the Topic's Parse.Relation
this.friendRelation = this.topic.relation("friend");
this.friendRelation.add(user);
// save the Topic to save its newly added .relation to Parse/Mongo
this.topic.save();
// iterate by adding the same User to several Topics
// (...)
// then you want to retrieve all Parse.Relations of all Topics where that
// specific user is pointed to
// the non-optimized way is to traverse every row in the Topics index
// and query each topic for its relations to find matching pointers to our user,
// which means that the number of calls is bound to the number of rows – fine for
// 10 topics in Mongo but passed 100 it won't be tolerable.
Solution
Construct a query for the Topic class, and add a equalTo constraint.
var query = new Parse.Query(Topic);
query.equalTo("friend", user);
query.find({success: function (returnedTopics) {
...
},
error: function (...) {
}
});
This will return all Topic objects that contain user in their friend relation.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow