How do I get an object and the specific relationship of that object in Parse?
Table
_User
Default user class by Parse.com
tweet
objectId<string>
tweet<string>
tweetBy<string><Pointer _User>
createdAt<Date>
updatedAt<Date>
follow
objectId<string>
following<string><Pointer _User>
followedBy<string>
createdAt<Date>
updatedAt<Date>
Table data
------------------------------------------------------------------------
- _User -
------------------------------------------------------------------------
| objectId | username | password | email | createdAt | updatedAt |
------------------------------------------------------------------------
| z12ttttt | Matt | hidden | taz@taz.com |random time|random time|
| z12zzzzz | Jobs | hidden | anu@taz.com |random time|random time|
| z12bbbbb | Ballu | hidden | lon@taz.com |random time|random time|
| z12aaaaa | Stephin | hidden | zon@taz.com |random time|random time|
------------------------------------------------------------------------
-----------------------------------------------------------
- tweet -
-----------------------------------------------------------
| objectId | tweet | tweetBy | createdAt | updatedAt |
-----------------------------------------------------------
| blabla | Head Pain | z12ttttt |random time|random time|
| blab12 | Back Pain | z12ttttt |random time|random time|
| blab23 | Sleepy | z12ttttt |random time|random time|
| blab90 | Head Pain | z12zzzzz |random time|random time|
| blab90 | lets Dance| z12bbbbb |random time|random time|
| blab90 | lets jump | z12aaaaa |random time|random time|
-----------------------------------------------------------
-------------------------------------------------------------
- follow -
-------------------------------------------------------------
| objectId | following | followedBy | createdAt | updatedAt |
-------------------------------------------------------------
| blabla | z12ttttt | z12zzzzz |random time|random time|
| blabla | z12bbbbb | z12zzzzz |random time|random time|
-------------------------------------------------------------
Desired output:
The curent user is z12zzzzz i.e. Jobs
As Jobs follows Matt and Ballou, their tweet will be shown.
--------------------------------------------
Matt (3min ago)
Head Pain
--------------------------------------------
Matt (4min ago)
Back Pain
--------------------------------------------
Matt (5min ago)
Sleepy
--------------------------------------------
Ballu (5min ago)
lets Dance
--------------------------------------------
my problem here is i get users to follow but not their respectful tweets
var username = window.localStorage.getItem('ls_username');
var Follow = Parse.Object.extend("follow");
var follow = new Parse.Query(Follow);
follow.equalTo('followedBy', username);
follow.include("following");
follow.include("tweet");
follow.include('tweet.tweetBy');
follow.find().then(function(results){
console.log(results);
var contentHtml = '';
for(i in results){
var object = results[i];
// Display individual tweets with their respected usernames
// Display only tweets of people being followed by currentuser
}
$('#globalTweets').html(contentHtml);
});
+3
source to share
1 answer
I think the question asked by a user is how do we get tweets made by users that a given user is following?
var _ = require('underscore');
// need a user object, not a username, if the relational fields are pointers
var currentUser = Parse.User.current();
// find follows where the user is the follower
var followQuery = new Parse.query("follow"); // conventional class name would begin with caps
followQuery.equalTo("followedBy", currentUser);
followQuery.find().then(function(follows) {
// assume underscorejs
var followedUsers = _.map(follows, function(f) {
return f.get("following");
});
var tweetQuery = new Parse.Query("tweet");
tweetQuery.containedIn("tweetBy", followedUsers);
// aggressively fetch the authoring user info
tweetQuery.include("tweetBy");
return tweetQuery.find();
}).then(function(tweets) {
// tweets are tweets by users followed by the given user
});
+1
source to share