如何使用android应用程序的Parse Javascript从关系中获取用户

How to get user from relation using Parse Javascript for android app

本文关键字:关系 获取 用户 Javascript Parse 何使用 android 应用程序      更新时间:2023-09-26

我想在关系中用javascript中的Parse检索一个存储的用户。因此,我有一个sportevents列表,在每个sportevent中都有一个用户(作为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

感谢解析facebook团队(尤其是Joseph Tuấn Anh Phan),答案是:

要加载关系,您必须在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); } })