2015-12-15 20 views
1

我正试图在云代码函数中访问位于用户对象上的当前用户的属性。当前用户被传递到云代码功能并在request.user处可用。云码使用parse-cloud-express部署到Heroku。解析Heroku用户查询中的Cloud代码

当请求第一次到达时,它不包含除id以外的用户数据。

所以我尝试进行抓取,以获得最新数据:

Parse.Cloud.define("functionName", function (request, response) { 
    request.user.fetch().then(function (user) { 
    console.log(util.inspect(user)); 
    }); 
}); 

但它输出相同的数据似乎并没有包含用户对象的属性。

2015-12-15T01:19:08.830880+00:00 app[web.1]: { _objCount: 1, className: '_User', id: 'dKqZMSRgDc' } 

我也尝试在用户ID上执行查询,但收到相同的结果。

var userQuery = new Parse.Query(Parse.User); 
userQuery.get(request.user.id).then(function (user) { 
    console.log(util.inspect(user)); 
}); 

如何获取用户对象的属性?

+0

所以,只需参考这里: [http://stackoverflow.com/questions/26286919/parse-cloud-code-retrieving-a-user-with-objectid?noredirect=1&lq=1](http:// stackoverflow.com/questions/26286919/parse-cloud-code-retrieving-a-user-with-objectid?noredirect=1&lq=1) – Paradise

回答

0

问题不在于获取User对象的数据,而是我记录它的方式。似乎数据不能从对象本身获得,因此util.inspect的输出是正确的,但不包含任何属性。 (我猜Parse框架的内部以另一种方式管理这个)。

我用console.log(user.toJSON())代替,现在可以看到用户的预期数据。