使用Parse.com查询制作新闻Feed

时间:2015-04-02 08:37:47

标签: javascript android parse-platform

我正在尝试使用Parse查询根据朋友和我自己的活动创建新闻Feed。我有一个名为“MeFollow”的集合[有列“me”“followUser”],它显示我关注的ppl和另一个名为“Activity”的集合,它存储toUser, fromUser, type, content

这就是我找到关注者的方式:

 var myFollowers = new Parse.Query("MeFollow");
 myFollowers.equalTo("me", Parse.User.current());

但我无法使用下一个查询找到我的朋友活动:

var friendsActivity = new Parse.Query("Activity");
friendsActivity.equalTo("fromUser", myFollowers.followUser);

我的活动很好:

var myActivity = new Parse.Query("Activity");
myActivity.equalTo("fromUser", Parse.User.current());

这是主查询:

var mainQuery = Parse.Query.or(myActivity, friendsActivity);
    mainQuery.include("fromUser");
    mainQuery.include("productId");
    mainQuery.descending("createdAt");
    mainQuery.find({
    success: function(results) {
    console.log(results);
    response.success(results);
    },
    error: function(error) {
        response.error(error);
    // There was an error.
    }
 });

我想我不能做“myFollowers.followUser”!有谁知道我怎么能做到这一点?

PS:我在云代码中这样做,所以它是javascript

1 个答案:

答案 0 :(得分:2)

您不能使用 myFollowers.followUser ,因为myFollowers会返回显示 me followUser 之间关系的对象,而不是 followUser 对象本身。

您应该使用 matchesKeyInQuery ,例如:

    var friendsActivity = new Parse.Query("Activity");
    friendsActivity.matchesKeyInQuery("fromUser", "followUser",myFollowers);

您可以查看主文档中不易访问的文档:https://www.parse.com/docs/js/api/symbols/Parse.Query.html#matchesKeyInQuery