使用CloudCode Parse.com检查是否存在关系

时间:2014-03-09 15:52:06

标签: javascript database-design parse-platform

我如何检查给定的PFUser是否与另一个用户的朋友在云中给定PFUser和一系列其他PFUser?

类似的东西:

Parse.Cloud.beforeSave("Message", function(request, response) {
  if (request.object.get("creator") != NULL) {

    var user = request.object.get("creator");
    var error = false;

    for (somepfuser in request.object.get("recipients")
           if (user and somepfuser are NOT in friends table)
                   error = true;             

  if (error)
   response.error("you must be friends to send message");
  else
    response.success();
});

1 个答案:

答案 0 :(得分:0)

我建议你制作一个承诺系列,其中每个承诺都会检查朋友表中用户对之间的关​​系。此外,由于对时间执行限制的Parse限制,您应该在自定义函数而不是事件侦听器(如beforeSave或afterSave ...)中执行此操作。对于像这样的事件监听器,您最多有3秒钟,在自定义函数中,您在解析请求之前最多需要7秒。

参见承诺系列参考:https://parse.com/docs/js_guide#promises-series

并承诺系列示例:wait for query to finish before sending response

希望有所帮助