如何使用Parse Javascript for android app从关系中获取用户

时间:2014-11-06 12:11:57

标签: javascript android parse-platform

我想在关系中以javascript检索存储的用户。 所以,我有一个运动事件列表,并且在每个运动事件中都有一个用户(作为Parse数据库的关系)。 所以,我得到了体育活动的清单。 我试图让用户使用这个JavaScript代码:

var user = sportevents[i].get("user").relation("_User");

我也尝试过最简单的方法:

var user = sportevents[i].get("user");

也尝试过:

var user = sportevents[i].relation("user");

但似乎没有任何效果。

我的函数的整个代码是:

query.find({
  success: function(sportevents) {
        var userIds = [];

      //On recupere les identifiants des evenements sportifs
      for (var i = 0; i < sportevents.length; ++i) {
          var user = sportevents[i].get("user").relation("_User");
          userIds[i] = user.id;       
      }

      var queryPush = new Parse.Query(Parse.Installation);
      queryPush.containedIn("userId", userIds);

      Parse.Push.send({
          where: queryPush,
          data: {
            alert: "Giants scored against the A's! It's now 2-2."
          }
        }, {
          success: function() {
            // Push was successful
          },
          error: function(error) {
            // Handle error
          }
        });

    },
  error: function(error) {
      console.error("Error finding sport events " + error.code + ": " + error.message);
  }

我经常读过Parse Doc,但似乎没有什么能适合这个用例。

非常感谢您的帮助。

的Sebastien

1 个答案:

答案 0 :(得分:0)

感谢解析facebook团队(尤其是JosephTuấnAnhPhan),答案是:

要加载关系,您必须在Parse.Relation对象上使用query(),如下所示:

var query = new Parse.Query("SportEvent");
 query.find({
 success: function(sportEvents) {

 for (var i in sportEvents) { 

var userRelation = sportEvents[i].relation("user"); 
userRelation.query().find({
 success: function(users) { for (var j in users) {
 console.log(users[j].id); } } }); } 
}, error: function(error) { console.log(error); } })