正确返回多个解析类的结果

时间:2014-11-23 13:19:54

标签: javascript parse-platform

使用parse.com和JavaScript SDK。

创建了一个小提示来显示此问题http://jsfiddle.net/Dano007/wj5vcd5m/12/

例如,目前您可以多次添加用户'dave'。我希望它只能添加一次用户。

更多信息

我希望能够查询_User类和FriendRequest类。基本上只返回FriendRequest类中没有“已连接”状态的用户。

使用下面我得到一个错误,说两个查询必须使用相同的类,是什么替代或解决?我可以改用matchesKeyInQuery吗?

var queryOne = new Parse.Query(Parse.User);
            queryOne.equalTo("username", friendName); // find users that match

            var queryTwo = new Parse.Query(FriendRequest);
            queryTwo.notEqualTo("status", "Connected"); // find users that match

            var mainQuery = Parse.Query.or(queryOne, queryTwo);

            mainQuery.find({

PARSE BACKEND。

因此,fromUser和toUser列中可以有多个记录,但每个用户只能有一个请求。例如

a3aePaphB4只能有一条记录,其中请求保存到netD5wqnRP

enter image description here

1 个答案:

答案 0 :(得分:1)

在第1部分:

将用户objectIdpic配对,以便在第2部分找到所需的确切用户。

e.g。 {userId: pic url, ...}

使用userId作为参数调用FriendrequestFriendrequest(userId)

在第2部分:

如果无法从查询中获取与currentUser和所选用户相关的任何结果,请发送好友请求。示例代码:

var user = new Parse.User();
user.id = userId;
var query = new Parse.Query("FriendRequest");
query.containedIn("fromUser", [currentUser, user]);
query.containedIn("toUser", [currentUser, user]);
return query.first().then(function(record) {
  if (!record) {
    requestFriend.set("fromUser", currentUser);
    requestFriend.set("toUser", user);
    requestFriend.set("status", "Request sent")
    return requestFriend.save().then(function() {
      // request success
      alert('A friend request has been sent: ' + requestFriend.id);
      location.reload(true);
    });
  }
});

希望这会对你有所帮助。