我正在尝试使用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
答案 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