如何在If条件下多次写query.equalTo(Parse)

时间:2016-05-25 06:28:58

标签: javascript parsing cloud-code

我只是想检查我的数据库表中是否有user_id和comment_id,如果它们存在,那么执行x操作或者y操作。 而且,我从用户那里获取运行时的user_id和comment_id。 那么我应该如何使用query.equalTo编写if条件,以便我可以执行各自的操作。 以下是我想要做的代码。

Parse.Cloud.define("voteForComment", function(request, response) 
{     
   var insertVote = Parse.Object.extend("trans_Votes");
    var vote = new insertVote();  
    var query = new Parse.Query("trans_Votes");
   if(query.equalTo("user_id", 
{
        __type: "Pointer",
        className: "_User",
        objectId: request.params.user_id 
})) && (query.equalTo("comment_id",
{ __type: "Pointer",
        className: "mst_Comment",
        objectId: request.params.comment_id
})); // how to write this two equalTo queries..(its showing error)
    { 
      
query.find
({
   success : function(rec)
   {
     X operation here  
   },
   error : function(error)
   {
     response.error(error);
   `}
     });
      }
else
{
	y operation here
}

感谢。

1 个答案:

答案 0 :(得分:2)

你的括号有点乱。从equalTo()语句中删除if函数调用会留下这段代码线框:

if (...) && (...);
{
    ...
} else {
    ...
}

由于语法错误,这不起作用。我们需要稍微改变一下:

if ((...) && (...))
{
    ...
} else {
    ...
}

将这些更改应用于您的代码会产生以下结果:

if (query.equalTo("user_id", {
    __type: "Pointer",
    className: "_User",
    objectId: request.params.user_id 
}) && query.equalTo("comment_id", {
    __type: "Pointer",
    className: "mst_Comment",
    objectId: request.params.comment_id
})) { 
    query.find({
        success: function(rec) {
            X operation here  
        },
        error: function(error) {
            response.error(error);
        }
    });
} else {
    y operation here
}

这应该有效。