解析云代码返回此处不允许的解析对象

时间:2017-10-08 11:03:16

标签: parse-platform ionic3 cloud-code

我正在尝试从Parse Server数据库中检索数据,而我正面临500内部错误。

我的班级是"朋友"并且该列是" fromUser&#34 ;,这是指向< _User>的指针。类。

重点是从列#34;用户名"获取用户名。这是" User"类。

我使用Ionic 3开发应用程序并尝试在登录当前用户的情况下运行该功能以检索数据。

我的云代码:

Parse.Cloud.define('FriendsQuery', function(req,res) {
const query = new Parse.Query("Friends");
query.equalTo("fromUser", request.params.currentuser);
query.find().then((results) => {
    res.success(results);
})
.catch(() =>  {
  response.error("user lookup failed");
});
});

和我的打字稿代码

currentUser = Parse.User.current();
retrieveFriends(){
if (this.currentUser= Parse.User.current()) {
  const passdata = Parse.User.current();
  Parse.Cloud.run('FriendsQuery', {currentuser: this.currentUser }).then(
  res => {
    console.log(res)
    }
  )
}

}

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

对于不允许解析云代码对象,因此您必须仅发送用户ID并在云中执行查询以获取如下所示的用户对象

打字稿代码:

    currentUser = Parse.User.current();
retrieveFriends(){
if (this.currentUser= Parse.User.current()) {
  const passdata = Parse.User.current();
  Parse.Cloud.run('FriendsQuery', {currentuser: this.currentUser.id }).then(
  res => {
    console.log(res)
    }
  )
}
}

云代码:

    Parse.Cloud.define('FriendsQuery', function(req,res) {
const query = new Parse.Query("Friends");
var currentId =  req.params.currentuser;
var currentuserobject = {};
 var currentuserquery = new Parse.Query(Parse.User);
    currentuserquery.equalTo("objectId", currentId);  // find all the women
    currentuserquery.first({
      success: function(user) {
        user = currentuserobject;
      }
    });
query.equalTo("fromUser", currentuserobject);
query.find().then((results) => {
    res.success(results);
})
.catch(() =>  {
  response.error("user lookup failed");
});
});

答案 1 :(得分:0)

所以请试试这个

Parse.Cloud.define('FriendsQuery', function(req,res) {
var currentId =  req.params.currentuser;
var currentuserquery = new Parse.Query(Parse.User);
    currentuserquery.equalTo("objectId", currentId);  // find all the women
    currentuserquery.first({
      success: function(user) {
      const query = new Parse.Query("Friends");
      query.equalTo("fromUser", user);
      query.find().then((results) => {
      res.success(results);
      })

      }
    })

.catch(() =>  {
  res.error("user lookup failed");
});
});