您可以在beforeSave回调中编辑数据,如果是,如何?在Heroku上运行时在beforeSave上设置一些Parse.User属性
综观各种文档,它看起来像这样的代码应该工作(使用"_User"
或Parse.User
),我可以看到我的日志Ran beforeSave on a User
和new user!
但关键aaa
仍然是空的..
我试着在user.set
之后加user.save()
但仍然没有运气。 有什么想法?
Parse.Cloud.beforeSave("_User", function(request, response) {
console.log('Ran beforeSave on a User');
var user = request.object;
if(user.existed()) {
response.success();
} else {
console.log('new user!');
user.set('aaa', 'xxx');
response.success();
}
});
编辑2015年12月3日:也许关键信息,该代码在的Heroku运行。 http://blog.parse.com/announcements/introducing-heroku-parse/
编辑2015/12/05:这似乎是Heroku/Parse集成的一个bug。 beforeSave钩被称为,但似乎并没有让你编辑request.object ..
编辑2015年12月7日:我在CloudCode-Express
回购所造成的问题https://github.com/ParsePlatform/CloudCode-Express/issues/6
您正在尝试将值设置为本地的用户变量。试试这个:'request.object.set('aaa','xxx');' –
我们在代码中使用了相同的'user.set()'函数,它可以工作,即使使用局部变量。然而,我们在exists()方面遇到了一些问题,而对于我们的用例,我们可以用if(!user.get('aaa')){}'来代替。 – paolobueno
我试过在重构之前直接引用'request.object' ..没有运气...... –