我的解析云代码中出现验证失败错误。这里" postId"是一个指向帖子类的指针。这是我的代码 -
Parse.Cloud.beforeSave("likes",function(request,response){
var posts=Parse.Object.extend("posts");
var query=new Parse.Query(posts);
query.include("postAuthor");
query.equalTo("objectId",request.object.get("postId").get("objectId"));
query.find({
success:function(results){
if(results.length==0){
response.error();
}else{response.success();}
},
error:function(error){
response.error(error);
}
});
});
如果我修改了像
这样的equalTo方法query.equalTo("objectId",request.object.get("postId"));
错误消失了,但成功回调中返回的结果数组的长度为== 0,这意味着即使数据浏览器中存在对象也不会被检索。不确定这是一个bug还是我正在做的事情错了。请帮忙。
答案 0 :(得分:0)
我想出了问题。问题就在这一行 -
query.equalTo("objectId",request.object.get("postId").get("objectId"));
甚至
query.equalTo("objectId",request.object.get("postId"));
失败,因为我没有指定任何对象id来进行比较并在其中传递json对象。将其更改为
query.equalTo("objectId",request.object.get("postId").id);
为我解决了这个问题。