Parse.com在保存之前将用户指针添加到类中

时间:2015-10-16 16:59:12

标签: javascript parse-platform cloud-code before-save

我有一个名为Roster的表,它将用户指针存储在其中一个列中。我正在尝试在保存方法之前将该列设置为new。所以我有这个但我不知道如何获取用户ID

Parse.Cloud.beforeSave("Roster",function(request,response){
  //Update roster with sender Id
  if (request.object.isNew()){
    var userPointer = /*NOT SURE HOW TO GET WHO SENT IT*/
    request.object.set("User",userPointer);
  }
   response.success(); 
});

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

var userPointer = request.user;

是正确的方法吗? Todd的答案适用于客户端,但不适用于发生beforeSave触发器的云代码。

如果您需要访问超出其ID的任何用户信息,则必须首先获取用户,因为整个对象未在请求中发送。

编辑 - 只想添加前/后触发触发器有3秒超时。这是足够的时间来执行一两个快速查询,但如果您的数据库中有很多对象,或执行许多保存/获取/查询调用,您最终可能会超过3秒的限制。如果您有很多需要发生的逻辑,而不是从客户端保存对象,请调用处理所有这些更改的云代码函数,然后保存对象并返回新保存的对象,以便您可以设置您的客户端对象返回到最新的对象。

答案 1 :(得分:1)

正如Jake T指出的那样,你需要使用

var user = request.user
云代码环境不支持

Parse.User.current()