Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Heroku上运行时,在beforeSave上设置一些Parse.User属性_Heroku_Parse Platform_Parse Cloud Code - Fatal编程技术网

在Heroku上运行时,在beforeSave上设置一些Parse.User属性

在Heroku上运行时,在beforeSave上设置一些Parse.User属性,heroku,parse-platform,parse-cloud-code,Heroku,Parse Platform,Parse Cloud Code,您能否在beforeSave回调中编辑数据?如果是,如何编辑 查看各种文档,这段代码似乎应该可以工作(使用“\u User”或Parse.User),我可以看到在用户上保存之前运行和新用户在我的日志中,但密钥aaa仍然为空 我尝试在user.set之后添加user.save(),但仍然没有成功。 有什么想法吗 Parse.Cloud.beforeSave(“\u User”),函数(请求、响应){ log('runbeforesave on a User'); var user=request.

您能否在beforeSave回调中编辑数据?如果是,如何编辑

查看各种文档,这段代码似乎应该可以工作(使用
“\u User”
Parse.User
),我可以看到
在用户上保存之前运行
新用户在我的日志中,但密钥
aaa
仍然为空

我尝试在
user.set
之后添加
user.save()
,但仍然没有成功。 有什么想法吗

Parse.Cloud.beforeSave(“\u User”),函数(请求、响应){
log('runbeforesave on a User');
var user=request.object;
if(user.existed()){
回答:success();
}否则{
log('new user!');
user.set('aaa','xxx');
回答:success();
}
});
编辑2015/12/03:可能是关键信息,此代码正在heroku上运行

编辑2015/12/05:这似乎是Heroku/Parse集成的一个bug。调用beforeSave钩子,但似乎不允许编辑请求。对象


编辑2015/12/07:我在
CloudCode Express
repo

上创建了一个问题,将您的代码更改为使用
isNew()
方法:

Parse.Cloud.beforeSave(Parse.User,函数(请求,响应){
log('runbeforesave on a User');
如果(!request.object.isNew()){
回答:success();
}否则{
log('new user!');
request.object.set('aaa','xxx');
回答:success();
}
});

使用Webhook,您需要传回已更改的对象:


成功(目标);

您正在尝试将值设置为本地用户变量。试试这个:
request.object.set('aaa','xxx')
我们在代码中使用了相同的
user.set()
函数,即使使用局部变量,它也能工作。然而,我们在
existed()
方面遇到了一些问题,对于我们的用例,我们可以使用
if(!user.get('aaa')){}
。在重构之前,我尝试直接引用
request.object
。。不走运…我也有同样的问题,在heroku上运行之前保存。我认为这是Parse-webhook实现中的一个bug,因为它在Parse-Cloud代码中直接实现时确实有效。可能必须将beforeSave放回解析服务器,而不是heroku,直到他们修复它…正如我所说,日志显示
新用户因此执行块。。不确定它会给我更多。。。但是thx…这就是全部功能吗?你在日志中看到了什么作为输入和结果?是的。。我看到“在用户上保存之前运行”和&“新用户!”你能把这两行贴在这里吗?以输入和结果2015-12-03T09:39:47.487912+00:00应用程序[web.1]:在用户2015-12-03T09:39:47.487982+00:00应用程序[web.1]上保存之前运行的:新用户!更新文档的时间:)