3

Tables

_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   | [email protected] |random time|random time|
| z12zzzzz | Jobs     | hidden   | [email protected] |random time|random time|
| z12bbbbb | Ballu    | hidden   | [email protected] |random time|random time|
| z12aaaaa | Stephin  | hidden   | [email protected] |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:

Curent user is z12zzzzz ie Jobs

Since Jobs is following Matt and Ballu only 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 that am getting the users being followed but not their respected 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);
        });
0

1 Answer 1

1

I think the question is, given a user, how do we get tweets made by users that the 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
});
Sign up to request clarification or add additional context in comments.

3 Comments

Yes that is the question ))
Its working but there is no username.( i did console.log(tweets) there is no data in tweetBy
Please see edit. Used include on the tweetQuery to fetch the related user who authored the tweet. You can use this idea on any pointer column.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.